Hello,
In order to get a unified snowplow “client” tracking between AMP pages and non AMP pages, and despite having reading the official documentation and other related posts, we are still misunderstanding the method to reach the objective.
Our first goal is to apply this feature so that we can track from an AMP page (AMP tracker) to a non AMP page (JS-tracker page).
Here’s we have done so far :
- we have enabled the linker with minimal settings.
"linkers": { "enabled": true },
- we have noticed that when navigating from an AMP page to a non AMP page, the querystring contains the amp_id as expected .
- in the snowplow debugger for chrome, on an AMP page, we have taken the ampClientId and compared it with the decoded base-64 amp_id after navigating to a non AMP page —> it matches.
As it is written in the documentation of the google AMP tracker (1.0.1) in the section AMP page to JS-tracker page about the amp_id parameter, we should map the decoded amp_id to the domain userid (or any other user value) from the Javascript tracker:
The structure of this param is explained in the AMP documentation – models can extract the base64-encoded AMP Client ID, decode it, and map it to the domain userid (or any other user value) from the Javascript tracker.
OR in other words, as said in another snowplow page:
If a
domain_userid
is found by the AMP tracker, it is not guaranteed to be attached to every event. Therefore, a good strategy for modeling user identification on both sides is to create a mapping table of domain_userid to amp-id, and join this to the rest of the data to attribute users.
This is precisely where we are stucked.
We would like to know the following things :
- how to create this mapping table of domain_userid to amp-id and how to join the rest of the data to attribute users?
- once we get the amp_id in the query string, how could we send this amp_id in the js tracker, so that we can identify this same user in snowplow?
Thanks
patrick