Google Analytics 4: Ecommerce Guide For Google Tag Manager 2023

Understanding of GA4 Enhanced Ecommerce Tracking

GA4 Enhanced Ecommerce is a feature of Google Analytics 4 (GA4) that allows ecommerce businesses to track and analyze customer behavior on their website, including product and checkout performance, sales, and conversions. It provides businesses with detailed information about how customers interact with their online store, such as which products are viewed and added to carts, which pages customers visit before making a purchase, and which payment methods are used. This information can be used to optimize the customer experience and improve online sales.

What is the difference between GA3 and GA4 tracking?

GA3 (Google Analytics 3) and GA4 (Google Analytics 4) are two different versions of the Google Analytics tracking platform. GA3 is the older version of Google Analytics, also known as Universal Analytics, and GA4 is the newer version that was released in October 2020.

The main differences between GA3 and GA4 tracking are

  1. Data Model: GA3 uses a session-based data model, where a session is defined as a user’s interactions with a website within a specific timeframe. In contrast, GA4 uses an event-based data model, where every user interaction is tracked as an event, allowing for more granular data collection.
  2. Tracking: GA3 uses a session-based data model, where a session is defined as a user’s interactions with a website within a specific timeframe. In contrast, GA4 uses an event-based data model, where every user interaction is tracked as an event, allowing for more granular data collection.
  3. Analysis: In comparison to GA3, GA4 offers more sophisticated analytical capabilities, with built-in machine learning models and AI-powered insights that help marketers and analysts better understand user behavior and make data-driven decisions.
  4. User interface: GA4’s user interface is different from GA3’s, with a redesigned UI that is intended to be more intuitive and user-friendly.
  5. Integration: GA4 provides more integration options with other Google products, such as Google Ads and BigQuery, allowing for more comprehensive data analysis and cross-platform tracking.

Overall, GA4 is a more advanced and flexible tracking platform compared to GA3, with more advanced features, capabilities, and integration options that allow for better data analysis and reporting. However, GA3 is still widely used and is compatible with many existing tracking systems, making it a reliable option for many businesses.

What types of e-commerce data can be collected?

GA4-enhanced e-commerce data that can be collected includes

  • Promotion impressions: Information on the Performance of promotions that have been viewed on your website, including promotion name, and promotion ID.
  • Promotion Click: Information on the Performance of promotions that have been clicked on, including promotion name, and promotion ID.
  • Product impressions: Information on products that have been viewed on your website, including product name, ID, and price.
  • Product clicks: Information on products that have been clicked on, including product name, ID, and price.
  • Product detail views: Information on specific product details, such as product name, ID, price, brand, category, variant, and more.
  • Add/remove from cart actions: Information on when products have been added or removed from a user’s cart, including product name, ID, and price.
  • Checkout & steps: Information on when a user has initiated the checkout process, including the number of items in the cart and the total value of the cart.
  • Purchases: Information on completed transactions, including transaction ID, revenue, tax, and shipping.
  • Refunds: Information on any refunds that have been issued for a transaction, including the transaction ID and refund amount.

This is an Implementation guide for how to set up and configure the dataLayer and variables in GTM for GA4 Enhanced Ecommerce tracking.

Promotion Impressions (view_promotion)

This event can be triggered when a user views a promotion or advertisement, and it can be used to track the number of impressions for each of the promotions. By adding additional parameters, we can track additional information, such as location on the website or the specific creative used. These additional parameters can be used to analyze the performance of each promotion and optimize future advertising campaigns.

A sample datalayer object for the view_promotion:

<script>
dataLayer.push({
  event: ‘view_promotion’,
  ecommerce: {
    items: [{
      promotion_id: ‘sc2021’,
      promotion_name: ‘summer_campaign_2021’,
      creative_name: ‘family_in_bathing_suits_1’,
      creative_slot: ‘featured_items’,
      location_id: ‘top_section_1’ // or the location of the promotion where it’s available
    },{
      promotion_id: ‘wc2020’,
      promotion_name: ‘winter_campaign_2020’,
      creative_name: ‘family_in_winter_clothes_1’,
      creative_slot: ‘featured_items_2’,
      location_id: ‘bottom_section_1’ // or the location of the promotion where it’s available
    }]
  }
});
</script>

Required parameters: promotion_id or promotion_name

Note: In the official documentation, item parameters are also shown in the view_promotion event. The item parameter can be considered if the promotion is related to an item or a specific item. Currently, GA4 Ecommerce reports don’t seem to have any option of viewing items in a promotion, but we can see the item parameters in BQ after exporting the data.

Tag configuration:

The tag configuration for the view_promotion event will look like this,

Image Source: Google Tag Manager

 

Datalayer Variable configuration for items array: ecommerce.items

Trigger Configuration:

  • Trigger Type: Custom Event
  • Event Name: view_promotion
  • The trigger will fire on All custom events.

Promotion Clicks (select_promotion)

The Select_Promotion event is triggered when the user selects or clicks the promotion they have viewed. 

The following is an example datalayer object for the select_promotion:

<script>
dataLayer.push({
  event: ‘select_promotion’,
  ecommerce: {
    items: [{
      promotion_id: ‘sc2021’,
      promotion_name: ‘summer_campaign_2021’,
      creative_name: ‘family_in_bathing_suits_1’,
      creative_slot: ‘featured_items’,
      location_id: ‘top_section_1’ // or the location of the promotion where it’s available
    }]
  }
});
</script>

Required parameters: promotion_id or promotion_name

Tag Configuration

The tag configuration for the select_promotion event will look like this,

Image Source: Google Tag Manager

 

Datalayer Variable configuration for items array: ecommerce.items

Triggering configuration:

  • Trigger Type: Custom Event
  • Event Name: select_promotion
  • This trigger fires on: All Custom Events

Product Impressions(view_item_list)

The view_item_list event is triggered when the user views the list of items in a product list. A product list could be something like search results, featured items, and so on.

A sample datalayer object for the view_item_list:

<script>
dataLayer.push({
  event: ‘view_item_list’,
  ecommerce: {
    items: [{
      item_name: ‘Finnish magical parka’,
      item_id: ‘mp1122’,
      price: 31.10,
      item_brand: ‘PARKA4LIFE’,
      item_category: ‘Apparel’,
      item_category2: ‘Coats’,
      item_category3: ‘Parkas’,
      item_category4: ‘Unisex’,
      item_variant: ‘Navy blue’,
      item_list_name: ‘Featured items’,
      item_list_id: ‘FI1’,
      index: 1,
      quantity: 1
    },{
      item_name: ‘Swedish regular parka’,
      item_id: ‘sp2323’,
      price: 92.00,
      item_brand: ‘PARKA4LIFE’,
      item_category: ‘Apparel’,
      item_category2: ‘Coats’,
      item_category3: ‘Parkas’,
      item_category4: ‘Unisex’,
      item_variant: ‘Black’,
      item_list_name: ‘Featured items’,
      item_list_id: ‘FI1’,
      index: 2,
      quantity: 1
    }]
  }
});
</script>

Required parameters: item_id or item_name

Note: To analyze which list was viewed, always try to populate the item_list_name field.

Tag configuration

The tag configuration for the view_item_list will look like this.

Image Source: Google Tag Manager

 

Datalayer Variable configuration for items array: ecommerce.items

Triggering configuration:

  • Trigger Type: Custom Event
  • Event Name: view_item_list
  • This trigger fires on: All Custom

Product Click(select_item)

The select_item event is triggered when the user selects or clicks an item after viewing it.

The following is an example datalayer object for the select_item:

<script>
dataLayer.push({
  event: ‘select_item’,
  ecommerce: {
    items: [{
      item_name: ‘Finnish magical parka’,
      item_id: ‘mp1122’,
      price: 31.10,
      item_brand: ‘PARKA4LIFE’,
      item_category: ‘Apparel’,
      item_category2: ‘Coats’,
      item_category3: ‘Parkas’,
      item_category4: ‘Unisex’,
      item_variant: ‘Navy blue’,
      item_list_name: ‘Featured items’,
      item_list_id: ‘FI1’,
      index: 1,
      quantity: 1
    }]
  }
});
</script>

Required parameters: item_id or item_name

We can add the discount, price, and item_name as the event scoped parameters with the datalayer snippets as a solution to get the data for the missing dimensions of discount and price in GA4. This suggestion is subjective to the current scenario where GA4 is not showing the discount and price dimensions for reporting purposes.

Note: To analyze which list was viewed, always try to populate the item_list_name field.

Tag configuration

The tag configuration for the select_item will look like this:

Image Source: Google Tag Manager

 

Datalayer variable configuration for items array: ecommerce.items

Triggering configuration:

  • Trigger Type: Custom Event
  • Event Name: select_item
  • This trigger fires on: All Custom Events

Product Detail Impression (View_Item)

The view_item event will be triggered when the user views the details of the product on the product detail page.

A sample datalayer object for the view_item will look like this:

<script>
dataLayer.push({
  event: ‘view_item’,
  ecommerce: {
    items: [{
      item_name: ‘Finnish magical parka’,
      item_id: ‘mp1122’,
      price: 31.10,
      item_brand: ‘PARKA4LIFE’,
      item_category: ‘Apparel’,
      item_category2: ‘Coats’,
      item_category3: ‘Parkas’,
      item_category4: ‘Unisex’,
      item_variant: ‘Navy blue’,
      quantity: 1
    }]
  }
});
</script>

Required parameters: item_id or item_name

We can add the discount, item price, and item_name as the event-scoped parameters with the datalayer snippets as a solution to get the data for the missing dimensions of discount and price in GA4. This suggestion is subjective to the current scenario where GA4 is not showing the discount and price dimensions for reporting purposes.

Note: You can also add promotion and item list parameters (e.g., promotion_name or item_list_name) to the items in the items array if you want to add credit to a promotion or an item list for the current action.

Tag configuration.

The tag configuration for the view_item will look like this.

Image Source: Google Tag Manager

 

Datalayer Variable configuration for items array: ecommerce.items

Triggering configuration:

  • Trigger Type: Custom Event
  • Event Name: view_item
  • This trigger fires on: All Custom Events

Add to Cart (add_to_cart)

The add_to_cart event will be triggered when a user adds a product to the cart, either by adding a new product to the cart or by increasing the quantity of an existing product in the cart.

A sample dataLayer object for the add_to_cart will look like this:

<script>
dataLayer.push({
  event: ‘add_to_cart’,
  ecommerce: {
    items: [{
      item_name: ‘Finnish magical parka’,
      item_id: ‘mp1122’,
      price: 31.10,
      item_brand: ‘PARKA4LIFE’,
      item_category: ‘Apparel’,
      item_category2: ‘Coats’,
      item_category3: ‘Parkas’,
      item_category4: ‘Unisex’,
      item_variant: ‘Navy blue’,
      quantity: 1
    }]
  }
});
</script>

Required parameters: item_id or item_name.

By setting quantity parameters, we can analyze how many items are added to the cart.

We can add the discount, item price, and item_name as the event-scoped parameters with the datalayer snippets as a solution to get the data for the missing dimensions of discount and price in GA4. This suggestion is subjective to the current scenario where GA4 is not showing the discount and price dimensions for reporting purposes.

Note: You can also add promotion and item list parameters (e.g., promotion_name or item_list_name) to the items in the items array if you want to add credit to a promotion or an item list for the current action.

Tag Configuration

The tag configuration for add_to_cart will look like this

Image Source: Google Tag Manager

 

Datalayer Variable configuration for items array: ecommerce.items

Triggering configuration:

  • Trigger Type: Custom Event
  • Event Name: add_to_cart
  • This trigger fires on: All Custom Events

Add To Wishlist (add_to_wishlist)

The add_to_wishlist event will be triggered when the user adds the product to the wishlist.

A sample dataLayer object for the add_to_cart will look like this:

<script>
dataLayer.push({
  event: ‘add_to_wishlist’,
  ecommerce: {
    items: [{
      item_name: ‘Finnish magical parka’,
      item_id: ‘mp1122’,
      price: 31.10,
      item_brand: ‘PARKA4LIFE’,
      item_category: ‘Apparel’,
      item_category2: ‘Coats’,
      item_category3: ‘Parkas’,
      item_category4: ‘Unisex’,
      item_variant: ‘Navy blue’,
      quantity: 1
    }]
  }
});
</script>

Required parameters: item_id or item_name

By setting quantity parameters, we can analyze how many items are added to the cart.

We can add the discount, item price, and item_name as the event-scoped parameters with the datalayer snippets as a solution to get the data for the missing dimensions of discount and price in GA4. This suggestion is subjective to the current scenario where GA4 is not showing the discount and price dimensions for reporting purposes.

Note: You can also add promotion and item list parameters (e.g., promotion_name or item_list_name) to the items in the items array if you want to add credit to a promotion or an item list for the current action.

Tag Configuration

The tag configuration for add_to_wishlist will look like this

Image Source: Google Tag Manager

 

Datalayer Variable configuration for items array: ecommerce.items

Triggering configuration:

  • Trigger Type: Custom Event
  • Event Name: add_to_wishlist
  • This trigger fires on: All Custom Events

Remove From Cart (remove_from_cart)

The remove_from_cart event will be triggered when the user removes the item from the cart or decreases the quantity in the cart.

A sample dataLayer object for the remove_from_cart will look like this:

<script>
dataLayer.push({
  event: ‘remove_from_cart’,
  ecommerce: {
    items: [{
      item_name: ‘Finnish magical parka’,
      item_id: ‘mp1122’,
      price: 31.10,
      item_brand: ‘PARKA4LIFE’,
      item_category: ‘Apparel’,
      item_category2: ‘Coats’,
      item_category3: ‘Parkas’,
      item_category4: ‘Unisex’,
      item_variant: ‘Navy blue’,
      quantity: 1
    }]
  }
});
</script>

Required parameters: item_id or item_name

We can add the discount, item price, and item_name as the event scoped parameters with the datalayer snippets as a solution to get the data for the missing dimensions of discount and price in GA4. This suggestion is subjective to the current scenario where GA4 is not showing the discount and price dimensions for reporting purposes.

Note: You can also add promotion and item list parameters (e.g., promotion_name or item_list_name) to the items in the items array if you want to add credit to a promotion or an item list for the current action.

Tag Configuration

The tag configuration for remove_from_cart will look like this

Image Source: Google Tag Manager

 

Datalayer Variable configuration for items array: ecommerce.items

Triggering configuration:

  • Trigger Type: Custom Event
  • Event Name: remove_from_cart
  • This trigger fires on: All Custom Events

View Cart (view_cart)

The view_cart event will be triggered when a user views the cart.

A sample dataLayer object for the view_cart will look like this:

<script>
dataLayer.push({
  event: ‘view_cart’,
  ecommerce: {
    items: [{
      item_name: ‘Finnish magical parka’,
      item_id: ‘mp1122’,
      price: 31.10,
      item_brand: ‘PARKA4LIFE’,
      item_category: ‘Apparel’,
      item_category2: ‘Coats’,
      item_category3: ‘Parkas’,
      item_category4: ‘Unisex’,
      item_variant: ‘Navy blue’,
      quantity: 3
    },{
      item_name: ‘Parka stain removal’,
      item_id: ‘psr1332’,
      price: 5.99,
      item_brand: ‘PARKA4LIFE’,
      item_category: ‘Apparel’,
      item_category2: ‘Utility’,
      item_category3: ‘Care product’,
      quantity: 1
    }]
  }
});
</script>

Required parameters: item_id or item_name

Note: You can also add promotion and item list parameters (e.g., promotion_name or item_list_name) to the items in the items array if you want to add credit to a promotion or an item list for the current action.

Tag Configuration

The tag configuration for view_cart will look like this

Image Source: Google Tag Manager

 

Datalayer Variable configuration for items array: ecommerce.items

Triggering configuration:

  • Trigger Type: Custom Event
  • Event Name: view_cart.
  • This trigger fires on: All Custom Events

Checkout step 1 (begin_checkout)

The begin_checkout event will be triggered when the user starts the checkout flow.

A sample dataLayer object for the begin_checkout will look like this:

<script>
dataLayer.push({
  event: ‘begin_checkout’,
  ecommerce: {
    items: [{
      item_name: ‘Finnish magical parka’,
      item_id: ‘mp1122’,
      price: 31.10,
      item_brand: ‘PARKA4LIFE’,
      item_category: ‘Apparel’,
      item_category2: ‘Coats’,
      item_category3: ‘Parkas’,
      item_category4: ‘Unisex’,
      item_variant: ‘Navy blue’,
      quantity: 3
    },{
      item_name: ‘Parka stain removal’,
      item_id: ‘psr1332’,
      price: 5.99,
      item_brand: ‘PARKA4LIFE’,
      item_category: ‘Apparel’,
      item_category2: ‘Utility’,
      item_category3: ‘Care product’,
      quantity: 1
    }]
  }
});
</script>

Required parameters: item_id or item_name

Note: You can also add promotion and item list parameters (e.g., promotion_name or item_list_name) to the items in the items array if you want to add credit to a promotion or an item list for the current action.

Tag Configuration

The tag configuration for begin_checkout will look like this

Image Source: Google Tag Manager

 

Datalayer Variable configuration for items array: ecommerce.items

Triggering configuration:

  • Trigger Type: Custom Event
  • Event Name: begin_checkout.
  • This trigger fires on: All Custom Events

Checkout step 2 (add_shipping_info)

The add_shipping_info event will be triggered when a user has selected the shipping method. 

While Enhanced Ecommerce doesn’t have a direct analogy to add_shipping_info, most implementations have shipping method selection encoded in a checkout_option object.

A sample dataLayer object for the add_shipping_info will look like this:

<script>
dataLayer.push({
  event: ‘add_shipping_info’,
  ecommerce: {
    shipping_tier: ‘FedEx’,
    items: [{
      item_name: ‘Finnish magical parka’,
      item_id: ‘mp1122’,
      price: 31.10,
      item_brand: ‘PARKA4LIFE’,
      item_category: ‘Apparel’,
      item_category2: ‘Coats’,
      item_category3: ‘Parkas’,
      item_category4: ‘Unisex’,
      item_variant: ‘Navy blue’,
      quantity: 3
    },{
      item_name: ‘Parka stain removal’,
      item_id: ‘psr1332’,
      price: 5.99,
      item_brand: ‘PARKA4LIFE’,
      item_category: ‘Apparel’,
      item_category2: ‘Utility’,
      item_category3: ‘Care product’,
      quantity: 1
    }]
  }
});
</script>

Required parameters: shipping_tier, item_id, or item_name

Note: You can also add promotion and item list parameters (e.g., promotion_name or item_list_name) to the items in the items array if you want to add credit to a promotion or an item list for the current action.

Tag Configuration

The tag configuration for add_shipping_info will look like this

Image Source: Google Tag Manager

 

Datalayer Variable configuration for items array: ecommerce.items

Datalayer Variable configuration for shipping_tier: ecommerce.shipping_tier

Triggering configuration:

  • Trigger Type: Custom Event
  • Event Name: add_shipping_info.
  • This trigger fires on: All Custom Events

Checkout step 3 (add_payment_info)

The add_payment_info event will be triggered when a user has selected the payment method.

While Enhanced Ecommerce doesn’t have a direct analogy to add_payment_info, most implementations have payment method selection encoded in a checkout_option object.

A Sample dataLayer object for the add_payment_info will look like this:

<script>
dataLayer.push({
  event: ‘add_payment_info’,
  ecommerce: {
    payment_type: ‘COD’,
    items: [{
      item_name: ‘Finnish magical parka’,
      item_id: ‘mp1122’,
      price: 31.10,
      item_brand: ‘PARKA4LIFE’,
      item_category: ‘Apparel’,
      item_category2: ‘Coats’,
      item_category3: ‘Parkas’,
      item_category4: ‘Unisex’,
      item_variant: ‘Navy blue’,
      quantity: 3
    },{
      item_name: ‘Parka stain removal’,
      item_id: ‘psr1332’,
      price: 5.99,
      item_brand: ‘PARKA4LIFE’,
      item_category: ‘Apparel’,
      item_category2: ‘Utility’,
      item_category3: ‘Care product’,
      quantity: 1
    }]
  }
});
</script>

Required parameters: payment_type, item_id, or item_name

Note: You can also add promotion and item list parameters (e.g., promotion_name or item_list_name) to the items in the items array if you want to add credit to a promotion or an item list for the current action.

Tag Configuration

The tag configuration for add_payment_info will look like this

Image Source: Google Tag Manager

 

Datalayer Variable configuration for items array: ecommerce.items

Datalayer Variable configuration for payment_type: ecommerce.payment_type

Triggering configuration:

  • Trigger Type: Custom Event
  • Event Name: add_payment_info.
  • This trigger fires on All Custom Events

Purchase

The purchase event will be triggered when a user has made the purchase.

Make sure your website is set up such that the purchase data is only collected once. The ideal approach to accomplishing this is to invalidate the thank-you page once the user has visited it so that they cannot return to it by refreshing the page, using the browser history, or pressing the back button after switching to another page. Avoiding duplicate transactions at all costs is essential.

A sample datalayer object for the purchase will look like this:

<script>
dataLayer.push({
  event: ‘purchase’,
  ecommerce: {
    currency: ‘EUR’,
    value: 109.29,
    tax: 7.18,
    shipping: 10.00,
    affiliation: ‘My Parka Store’,
    transaction_id: ‘p115-20202000’,
    coupon: ‘free_back_rub’,
    items: [{
      item_name: ‘Finnish magical parka’,
      item_id: ‘mp1122’,
      price: 31.10,
      item_brand: ‘PARKA4LIFE’,
      item_category: ‘Apparel’,
      item_category2: ‘Coats’,
      item_category3: ‘Parkas’,
      item_category4: ‘Unisex’,
      item_variant: ‘Navy blue’,
      quantity: 3
    },{
      item_name: ‘Parka stain removal’,
      item_id: ‘psr1332’,
      price: 5.99,
      item_brand: ‘PARKA4LIFE’,
      item_category: ‘Apparel’,
      item_category2: ‘Utility’,
      item_category3: ‘Care product’,
      quantity: 1,
      item_coupon: ‘cheap_stain_removal’
    }]
  }
});
</script>

Required parameters: transaction_id, currency, item_id, or item_name.

Note: Make sure the quantity is passed as an integer type. A floating point value will cause item revenue to be incorrectly reported in the monetization reports!

You can also add promotion and item list parameters (e.g., promotion_name or item_list_name) to the items in the items array if you want to add credit to a promotion or an item list for the current action.

Tag Configuration

The tag configuration for the purchase event will look like this

Image Source: Google Tag Manager

 

Datalayer Variable configuration for items array: ecommerce.items

Datalayer Variable configuration for currency: ecommerce.currency

Datalayer Variable configuration for value: ecommerce.value

Datalayer Variable configuration for tax: ecommerce.tax

Datalayer Variable configuration for shipping: ecommerce.shipping

Datalayer Variable configuration for affiliation: ecommerce.affiliation

Datalayer Variable configuration for transaction_id: ecommerce.transaction_id

Datalayer Variable configuration for coupon: ecommerce.coupon

Triggering configuration:

  • Trigger Type: Custom Event
  • Event Name: purchase.
  • This trigger fires on: All Custom Events

Refund

There are two types of refund events you can be sent: a full refund (the entire transaction is refunded) and a partial refund (only some items were refunded).

A sample datalayer object for the full refund will look like this:

<script>
dataLayer.push({
  event: ‘refund’,
  ecommerce: {
    transaction_id: ‘p115-20202000’
  }
});
</script>

Required parameters: transaction_id.

Partial Refund

A “Partial Refund” event can be sent when a refund is initiated for some items.

A sample datalayer object for the partial refund will look like this:

<script>
dataLayer.push({
  event: ‘refund’,
  ecommerce: {
    transaction_id: ‘p115-20202000’,
    items: [{
      item_name: ‘Finnish magical parka’,
      item_id: ‘mp1122’,
      price: 31.10,
      item_brand: ‘PARKA4LIFE’,
      item_category: ‘Apparel’,
      item_category2: ‘Coats’,
      item_category3: ‘Parkas’,
      item_category4: ‘Unisex’,
      item_variant: ‘Navy blue’,
      quantity: 1
    }]
  }
});
</script>

Required parameters: transaction_id, item_id, or item_name.

Tag Configuration

The tag configuration for the refund event will look like this

Image Source: Google Tag Manager

 

 

Datalayer Variable configuration for items array: ecommerce.items

Datalayer Variable configuration for transaction_id: ecommerce.transaction_id

If you are configuring the refund event for a full refund then you only need to configure the ecommerce.transaction_id in the tag and if you are configuring the refund event for a partial refund then you also need to add ecommerce.items with ecommerce.transaction_id

Triggering configuration:

  • Trigger Type: Custom Event
  • Event Name: refund.
  • This trigger fires on: All Custom Events

Best practices for Enhanced Ecommerce tracking in GA4 

  1. Use dataLayer.push({ ecommerce: null });  before every enhanced ecommerce dataLayer it will Clear the previous ecommerce object.
  2. Test: Before making the configuration live Test the dataLayer implementation thoroughly to ensure that all the Enhanced Ecommerce dataLayer snippets are implemented correctly.
  3. Structured Format: Make sure to pass the Ecommerce data in the structured format. This will make it easier to pass the data to GA4 via GTM.
  4. Naming Conventions: Make sure to use the Ecommerce event name that is defined by Google, As GA4 will only accept that type of name.
  5. Required Parameter: Make sure to pass all the required parameters for better collection of Enhanced Ecommerce data.  
  6. Make sure to pass the Category and List Parameters values the same in the product category, and product list across the journey.

Troubleshooting Enhanced Ecommerce tracking in GA4

Here are a few troubleshooting methods for GA4 enhanced ecommerce via GTM:

  1. Check if the GTM Container snippet is implemented correctly on all the pages.
  2. Check the GA4 measurement ID is configured correctly.
  3. Use the GTM Preview mode to verify that the Tags and Triggers are firing correctly.
  4. Check if the event and parameters name in the dataLayer is implemented correctly.

Conclusion

Implementing Google Analytics 4 Ecommerce tracking using Google Tag Manager can provide valuable insights into your ecommerce website’s performance. You can track all Ecommerce funnel steps, from the view of the product to purchases, and gain a deeper understanding of your customers’ behavior with each step. With this information, you can optimize your online store for better conversion rates and higher revenue.

Leave a Reply

Your email address will not be published. Required fields are marked *

Newly Launched
FREE DIY Audit
 Takes 5 mins

Get an instant look at your GA4 setup with our free audit feature

GA4 360 Price Estimates

Take the guesswork out of GA4 360 pricing with our easy-to-use estimator