Improved data layer install guide, new option for add to cart handler, name changes to all data layer events, and currency code fix. Pre-built tag updates to coincide with the data layer updates.
- Update install guide UX
- Adds ajax cart handler for custom implementation. Covers fetch and XMLHttpRequest methods using Shopify's ajax APIs. Only includes "/cart/add.js" and "/cart/update.js".
- Updates all event names with a prefix "dl_". This is a breaking change. If you'd like to upgrade you will also need to update your GTM container.
- Updates currency code to camel case to fix issue with Google Analytics currency tracking.
The following 2.0 containers have been updated to coincide with data layer upgrade:
- Shopify Plus Full Install
- Shopify Non-Plus Full Install
- Facebook Pixel (and merged with CAPI events)
- Google Ads
- Criteo (new!)
Here are a few specific variable updates within each container:
- Trigger updates: all event triggers have been updated to include
**dl_**in the front which matches updates to our data layer. So instead of
**add_to_cart**they now all match
**dl_add_to_cart**. This change was made to fix a conflict with the native Google Shopping App that caused duplicate triggers if customers had this installed.
- Currency Code variable: we've updated the currency code parameter in the data layer to be
**currencyCode**to match GA guidelines when using the data layer option for enhanced ecommerce. The variable worked fine in previous versions but would cause reporting discrepancies if you were using GTM to send GA data to a single property for multi-currency orders.
- GA4 search parameter fix. This tag was previously referencing a variable for item view. It should instead be as shown below
- CustomerEmail. If you are using some of our newest Facebook CAPI 2.0 data layer containers then there was an incorrect variable set in the variable below. We use two email variables: one for thank you pages and one for non-thank you pages. The thank you page should have the data layer key set to the below: user_properties.customer_email, instead of CustomerEmail.