Resource Center

Tracking FAQs : Google Tag Manager (GTM)


This article will review:

  • Common FAQs to help debug Google Tag Manager (GTM) issues


Index


Overview

This guide assists Brands troubleshooting common integration issues between Partnerize and Google Tag Manager (GTM).

Further reading found : https://help.phgsupport.com/hc/en-us/articles/360017934778-Tracking-Partnerize-Google-Tag-Manager-Integration


FAQs

Q) What is the recommended method for implementing Partnerize conversion tracking, especially for multi-brand or complex environments?

  • Recommendation: Utilize the Partnerize Tag templates from the GTM Community Template Gallery. These templates automate complex data mapping and provide native support for ITP compliance by storing the clickref as a first-party cookie.

  • Multi-Brand Logic: For "Master Integrations" (one container for multiple brands), use a Lookup Table or RegEx Table variable to check the Page Hostname and dynamically output the correct campaign_id.

  • Tag Separation: You must configure two distinct tags:

    1. Click Capture Tag: Must fire on All Pages (or all entry points) to harvest the clickref from the URL.

    2. Conversion Tag: Fires exclusively on the Order Confirmation/"Thank You" page.

Q) How do I choose the correct GTM template, and how do I handle non-standard dataLayer structures?

  • Template Selection: Choose based on your site's existing schema:

    • GA4 eCommerce Template: For modern nested structures using items arrays and transaction_id.

    • Enhanced eCommerce Template: For older UA logic using actionField and products arrays.

    • Standard Tag: For simplified "flat" data structures where variables are at the top level.

       
  • Custom Mapping: If your dataLayer is "rigid" or non-standard (e.g., hotel bookings), create Data Layer Variables for your custom paths (e.g., booking_id as SKU) and manually map them within the template's "Conversion Item Parameters" section.

Q) How should regional identifiers, currencies, and tax (Net vs. Gross) be managed in GTM?

  • Regional Data: Ensure the country is passed in ISO 3166-1 alpha-2 format (e.g., US, GB). If tracking shows "XX," you must explicitly map a regional Data Layer Variable to the Partnerize country field in the template.

  • Net vs. Gross Value: Partnerize prefers Net values (excluding tax/shipping). If the dataLayer only provides Gross values, perform the math (e.g., Gross Price / tax multiplier) either via a Custom JavaScript Variable or by modifying the template's "price" code section directly.

  • Data Cleaning: Use GTM Variable Format Value filters (Find and Replace) to strip currency symbols or non-numeric characters that might break the conversion call.

Q) How do we handle cross-domain tracking, Single Page Applications (SPAs), and Consent Mode?

  • Cross-Domain:

    • Subdomains: (e.g., blog.example.com to checkout.example.com) Cookies are shared automatically; no extra logic is needed if GTM is on both.

    • Different Root Domains: (e.g., site-a.com to site-b.com) Automatic tracking is not supported. You must manually transfer the clickref via a URL query string to the destination domain.

  • Consent Management: If a CMP blocks tags until consent is granted, move the Click Capture Tag trigger from "All Pages" to an event-based trigger that fires immediately upon consent.

  • SPAs & Race Conditions: In SPAs, query parameters can be stripped during internal redirects; ensure the clickref is captured on the initial landing page. To avoid "Race Conditions" (tag firing before the dataLayer is ready), trigger the tag on a Custom Event (e.g., purchase) rather than a Page View.

Q). How do I check what dataLayer is implemented ? 

A). You can view the "dataLayer" by using the Dev tools in your browser

  • You must reach the checkout ( thank you page)
  • Load up your Dev Tools on your browser (in Chrome cmd+option+J) 
  • Type “dataLayer” into the console section
  • Click the down arrow next to the dataLayer array. 
    • This should list the different objects within.

Screenshot_2022-03-14_at_14.26.18.png

From this you can compare the dataLayer structure to determine which Partnerize eCommerce tag template is compatible

❗NOTE: 

Q)  As a Brand I'm updating my website to Google Analytics 4 (GA4), will my Partnerize tracking be affected 

A). Brands can still migrate and have no impact as GA4 is used for wide variety of analytical purposes (E.g monitoring page views / user activity / website bounce rates) as well as conversion tracking

  • Brands are only affected on Partnerize if :

    • Brand uses existing Partnerize's GTM eCommerce Tag Templates to track sales 

    • Have migrated to GA4 

    • Have replaced the old dataLayer (E.g Enhanced structure) with the new GA4 dataLayer structure

Q). As a Brand I've updated to GA4 but sales have stopped tracking on Partnerize , what do I do?

A).  Assuming the following : 

  • Brand has verified they ARE using existing Partnerize GTM Template to track sales 

  • dataLayer has been replaced by GA4 dataLayer 

Any prior Partnerize GTM template (E.g Enhanced ) may not be compatible with the new GA4 dataLayer structure. 

To resolve you will need to download the latest Partnerize GA4 eCommerce Template please see https://help.phgsupport.com/hc/en-us/articles/360017934778-Tracking-Partnerize-Google-Tag-Manager-Integration 

❗NOTE: If unsure please contact our support team and provide your dataLayer 

Q). Why is there a discrepancy between my GA reports VS what Partnerize reports?

A). Partnerize operates on a last click wins model, if a Brand is using GA4 and has Data Driven Attribution (DDA) enabled this will impact how GA attributes sales if multi channels are involved. 

For further reading please https://partnerize.com/resources/blog/about-google-analytics-4-ga4-and-why-marketers-should-care 

Q). Can I track sales on Partnerize if my dataLayer doesn't match Google's recommended structure?

A). Partnerize's eCommerce Tag Templates works by automatically reading the dataLayer at checkout to populate the Partnerize's tracking tag. 

If a dataLayer does not conform to Google's recommended format, Partnerize templates will not work

Provide Partnerize with the dataLayer structure as it may require creating a "Custom HTML" but would require manually mapping all values 

❗NOTE:  Partnerize can offer support if the Brand requires a Custom HTML; however, it is the Brand's responsibility to ensure they have technical resource proficient in making the necessary changes 

Q) Why are my sales missing a number of data parameters

A) The most common reason for this is due to the GTM template not reading the dataLayer, or perhaps it differs from the Google Standard dataLayer resulting in the parameters not populating correctly.

The template must be reviewed to ensure the dataLayer configuration is correct.

If there the dataLayer is correct and data is available it might require editing "Tags" to include custom parameters

Please get in touch with the team to discuss

Q) What is the "Console Logging" trick for GTM debugging?

A: Add a Custom HTML tag and use console.log({{Partnerize Variable Pack}}) to print values for real-time inspection.

Q) How do I know if Partnerize's tag has fired from GTM?

A) When performing a test transaction, make sure you stay on the confirmation page where you expect the tag to trigger.

Bring up your Internet Browser Development tools as previously advised and select:

  •  Network Tab > type prf.hn > This should give you 1 result.

Screenshot_2022-03-14_at_14.28.58.png

NOTE: You must have performed an END to END test with the Dev tools open to see the firing of the pixel

Q) A test has been conducted but nothing has tracked in Partnerize, why is this?

A) This could be due to a number of reasons : 

Ensure you have published any changes

  • When making any changes within GTM, you must make sure that you publish the latest changes.
  • You may have made changes to the configuration within GTM without publishing them. The GTM overview page should allow you to Preview/Submit the latest changes in the top right corner.

Screenshot_2022-03-14_at_12.23.06.png

  • The Workspace changes notification in the top right corner should show as 0 if the changes are up to date.

Is the Campaign ID correct? 

  • Within GTM workspace , select the "Tags" option from the left hand side and then double click on the template you have in place.
  • Your Campaign ID must be added to the "Campaign ID" section

Screenshot_2022-03-14_at_12.32.02.png

NOTE: The campaign id is case sensitive and will include a lowercase L.

Is the Trigger event correct? 

  • Same page as above, you need to ensure the following:
    • 1. There is a trigger present
    • 2. That the trigger in place is the correct trigger to use
  • There must be a trigger set up in GTM to tell it when to fire the Partnerize tag. There is no restriction on what this trigger needs to be and can be different for each and every setup.

Screenshot_2022-03-14_at_11.38.14.png

  • This will require some knowledge of the checkout process as a whole. Whether or not the tag fires off of a GTM event, page load, window load, etc.
  • Make sure this trigger is set up and accurate. The event triggers will apply to all tags. Each tag, custom or not, requires a trigger to fire it. For the Click Reference Capture tag, the event will likely be a page load. For any conversion event, this will likely be based on a custom event created by the client.

For more information on custom events, you can check the Google guide here:
https://support.google.com/tagmanager/answer/7679219?hl=en 

Q: What are some of the common errors in testing?

  • Undefined clickref: Usually caused by the Capture Tag and Conversion Tag using different cookie names.

  • Missing SKU: Typically means the tag fired before the items array was pushed to the dataLayer.

  • Duplicate Firing: Check for multiple triggers (e.g., Page View + Custom Event). In SPAs, use Trigger Exceptions to prevent firing on history changes.

 

Was this article helpful?

1 out of 1 found this helpful

Have more questions? Submit a request