{"id":10425,"date":"2024-11-06T22:50:53","date_gmt":"2024-11-06T22:50:53","guid":{"rendered":"https:\/\/ceowebltd.com\/blog\/?p=10425"},"modified":"2024-11-06T22:50:53","modified_gmt":"2024-11-06T22:50:53","slug":"how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2","status":"publish","type":"post","link":"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/","title":{"rendered":"How to set up and track enhanced e-commerce in Google Tag Manager"},"content":{"rendered":"<p>Setting up and tracking <strong>Enhanced E-commerce<\/strong> in <strong>Google Tag Manager (GTM)<\/strong> involves several steps that allow you to capture more detailed transaction and product-related data from your website. Enhanced e-commerce provides richer insights into how users are interacting with your online store, from product impressions and clicks to checkout behavior and purchases.<\/p>\n<p>Here\u2019s a step-by-step guide on how to set up and track <strong>Enhanced E-commerce<\/strong> using <strong>Google Tag Manager<\/strong> and <strong>Google Analytics<\/strong>:<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_73 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/#1_Prerequisites\" title=\"1. Prerequisites\">1. Prerequisites<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/#2_Enable_Enhanced_E-commerce_in_Google_Analytics\" title=\"2. Enable Enhanced E-commerce in Google Analytics\">2. Enable Enhanced E-commerce in Google Analytics<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/#3_Install_the_Google_Tag_Manager_GTM_Container\" title=\"3. Install the Google Tag Manager (GTM) Container\">3. Install the Google Tag Manager (GTM) Container<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/#4_Set_Up_GTM_Tags_for_Enhanced_E-commerce\" title=\"4. Set Up GTM Tags for Enhanced E-commerce\">4. Set Up GTM Tags for Enhanced E-commerce<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/#Step_1_Add_Google_Analytics_Tag_to_GTM\" title=\"Step 1: Add Google Analytics Tag to GTM\">Step 1: Add Google Analytics Tag to GTM<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/#Step_2_Create_Variables_for_E-commerce_Data_Layer\" title=\"Step 2: Create Variables for E-commerce Data Layer\">Step 2: Create Variables for E-commerce Data Layer<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/#5_Configure_the_Data_Layer_on_Your_Website\" title=\"5. Configure the Data Layer on Your Website\">5. Configure the Data Layer on Your Website<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/#Product_Impressions_and_Clicks\" title=\"Product Impressions and Clicks:\">Product Impressions and Clicks:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/#Add_to_Cart\" title=\"Add to Cart:\">Add to Cart:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/#Checkout\" title=\"Checkout:\">Checkout:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/#Purchase\" title=\"Purchase:\">Purchase:<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/#6_Create_GTM_Triggers_for_E-commerce_Events\" title=\"6. Create GTM Triggers for E-commerce Events\">6. Create GTM Triggers for E-commerce Events<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/#7_Set_Up_Google_Analytics_E-commerce_Tags_in_GTM\" title=\"7. Set Up Google Analytics E-commerce Tags in GTM\">7. Set Up Google Analytics E-commerce Tags in GTM<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/#8_Test_and_Debug_Enhanced_E-commerce_Tracking\" title=\"8. Test and Debug Enhanced E-commerce Tracking\">8. Test and Debug Enhanced E-commerce Tracking<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/#9_Publish_Your_Container\" title=\"9. Publish Your Container\">9. Publish Your Container<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/#Conclusion\" title=\"Conclusion\">Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"1_Prerequisites\"><\/span><strong>1. Prerequisites<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Google Analytics (Universal Analytics)<\/strong> account.<\/li>\n<li><strong>Google Tag Manager (GTM)<\/strong> account set up on your website.<\/li>\n<li>Your website should be an <strong>e-commerce site<\/strong> with a product catalog, shopping cart, and checkout process.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"2_Enable_Enhanced_E-commerce_in_Google_Analytics\"><\/span><strong>2. Enable Enhanced E-commerce in Google Analytics<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>First, you need to enable Enhanced E-commerce in your <strong>Google Analytics<\/strong> account.<\/p>\n<ol>\n<li><strong>Sign in to Google Analytics<\/strong>.<\/li>\n<li>Select the <strong>view<\/strong> for which you want to enable Enhanced E-commerce.<\/li>\n<li>Click on <strong>Admin<\/strong> (gear icon) at the bottom left.<\/li>\n<li>In the <strong>View<\/strong> column, select <strong>E-commerce Settings<\/strong>.<\/li>\n<li>Set <strong>Enable E-commerce<\/strong> to <strong>ON<\/strong>.<\/li>\n<li>Set <strong>Enable Enhanced E-commerce Reporting<\/strong> to <strong>ON<\/strong> as well.<\/li>\n<li>Click <strong>Save<\/strong>.<\/li>\n<\/ol>\n<p>This activates the ability to track e-commerce data in your Google Analytics account.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"3_Install_the_Google_Tag_Manager_GTM_Container\"><\/span><strong>3. Install the Google Tag Manager (GTM) Container<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>If you haven\u2019t already done so, install GTM on your website.<\/p>\n<ol>\n<li><strong>Create a GTM container<\/strong> for your website if you don\u2019t have one.<\/li>\n<li>Copy the GTM container snippet from your GTM account and paste it on every page of your website (in the <code>&lt;head&gt;<\/code> and <code>&lt;body&gt;<\/code> sections).<\/li>\n<\/ol>\n<h3><span class=\"ez-toc-section\" id=\"4_Set_Up_GTM_Tags_for_Enhanced_E-commerce\"><\/span><strong>4. Set Up GTM Tags for Enhanced E-commerce<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>You\u2019ll need to create tags in Google Tag Manager to send Enhanced E-commerce data to Google Analytics. Follow these steps to set up the necessary tags:<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Step_1_Add_Google_Analytics_Tag_to_GTM\"><\/span>Step 1: Add Google Analytics Tag to GTM<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<ol>\n<li>In GTM, go to <strong>Tags<\/strong> and click <strong>New<\/strong>.<\/li>\n<li>Select <strong>Tag Configuration<\/strong> and choose <strong>Google Analytics: Universal Analytics<\/strong>.<\/li>\n<li>Set the <strong>Track Type<\/strong> to <strong>Page View<\/strong> (this will be used to send page views to GA).<\/li>\n<li>Under <strong>Google Analytics Settings<\/strong>, select your GA settings variable, or input your <strong>Tracking ID<\/strong> manually (e.g., <code>UA-XXXXX-Y<\/code>).<\/li>\n<li>In the <strong>Triggering<\/strong> section, choose <strong>All Pages<\/strong> so that the pageview tag fires on every page.<\/li>\n<li>Save the tag.<\/li>\n<\/ol>\n<h4><span class=\"ez-toc-section\" id=\"Step_2_Create_Variables_for_E-commerce_Data_Layer\"><\/span>Step 2: Create Variables for E-commerce Data Layer<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>To send Enhanced E-commerce data to Google Analytics, you need to pull specific data from your website\u2019s <strong>data layer<\/strong>. This is where information like product impressions, clicks, and transactions will be stored.<\/p>\n<ol>\n<li><strong>Open your website<\/strong> and inspect the data layer (you can use Chrome\u2019s Developer Tools and go to the <strong>Console<\/strong> tab).<\/li>\n<li>Look for the relevant e-commerce variables in the data layer, such as:\n<ul>\n<li><code>transactionId<\/code><\/li>\n<li><code>transactionAffiliation<\/code><\/li>\n<li><code>transactionTotal<\/code><\/li>\n<li><code>productName<\/code><\/li>\n<li><code>productSKU<\/code><\/li>\n<li><code>productPrice<\/code><\/li>\n<li><code>currencyCode<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>These variables should be pushed to the data layer on the product pages, cart pages, and transaction confirmation pages.<\/p>\n<ol start=\"3\">\n<li>In GTM, go to <strong>Variables<\/strong> and click <strong>New<\/strong> to create the necessary variables that pull data from the data layer.\n<ul>\n<li>Choose <strong>Data Layer Variable<\/strong> for the variable type.<\/li>\n<li>Set the <strong>Data Layer Variable Name<\/strong> to the corresponding value you found in the data layer, such as <code>transactionId<\/code>, <code>productName<\/code>, etc.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h3><span class=\"ez-toc-section\" id=\"5_Configure_the_Data_Layer_on_Your_Website\"><\/span><strong>5. Configure the Data Layer on Your Website<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>For <strong>Enhanced E-commerce<\/strong> tracking, you need to implement the data layer on your website. Here\u2019s how you can do that for different stages of the shopping experience:<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Product_Impressions_and_Clicks\"><\/span>Product Impressions and Clicks:<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>You need to push product impression and click data to the data layer when users view or click on a product.<\/p>\n<div class=\"contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950\">\n<div class=\"flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none\">javascript<\/div>\n<div class=\"sticky top-9 md:top-[5.75rem]\">\n<div class=\"absolute bottom-0 right-2 flex h-9 items-center\">\n<div class=\"flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary\"><span class=\"\" data-state=\"closed\"><button class=\"flex gap-1 items-center select-none py-1\">Copy code<\/button><\/span><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"!whitespace-pre hljs language-javascript\"><span class=\"hljs-variable language_\">window<\/span>.<span class=\"hljs-property\">dataLayer<\/span> = <span class=\"hljs-variable language_\">window<\/span>.<span class=\"hljs-property\">dataLayer<\/span> || [];<br \/>\n<span class=\"hljs-variable language_\">window<\/span>.<span class=\"hljs-property\">dataLayer<\/span>.<span class=\"hljs-title function_\">push<\/span>({<br \/>\n  <span class=\"hljs-string\">'event'<\/span>: <span class=\"hljs-string\">'productImpression'<\/span>,<br \/>\n  <span class=\"hljs-string\">'ecommerce'<\/span>: {<br \/>\n    <span class=\"hljs-string\">'currencyCode'<\/span>: <span class=\"hljs-string\">'USD'<\/span>,<br \/>\n    <span class=\"hljs-string\">'impressions'<\/span>: [{<br \/>\n      <span class=\"hljs-string\">'name'<\/span>: <span class=\"hljs-string\">'Product 1'<\/span>,<br \/>\n      <span class=\"hljs-string\">'id'<\/span>: <span class=\"hljs-string\">'12345'<\/span>,<br \/>\n      <span class=\"hljs-string\">'price'<\/span>: <span class=\"hljs-string\">'29.99'<\/span>,<br \/>\n      <span class=\"hljs-string\">'brand'<\/span>: <span class=\"hljs-string\">'Brand A'<\/span>,<br \/>\n      <span class=\"hljs-string\">'category'<\/span>: <span class=\"hljs-string\">'Category 1'<\/span>,<br \/>\n      <span class=\"hljs-string\">'variant'<\/span>: <span class=\"hljs-string\">'Color: Blue'<\/span><br \/>\n    }]<br \/>\n  }<br \/>\n});<br \/>\n<\/code><\/div>\n<\/div>\n<h4><span class=\"ez-toc-section\" id=\"Add_to_Cart\"><\/span>Add to Cart:<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>You also need to track when users add products to the cart.<\/p>\n<div class=\"contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950\">\n<div class=\"flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none\">javascript<\/div>\n<div class=\"sticky top-9 md:top-[5.75rem]\">\n<div class=\"absolute bottom-0 right-2 flex h-9 items-center\">\n<div class=\"flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary\"><span class=\"\" data-state=\"closed\"><button class=\"flex gap-1 items-center select-none py-1\">Copy code<\/button><\/span><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"!whitespace-pre hljs language-javascript\"><span class=\"hljs-variable language_\">window<\/span>.<span class=\"hljs-property\">dataLayer<\/span>.<span class=\"hljs-title function_\">push<\/span>({<br \/>\n  <span class=\"hljs-string\">'event'<\/span>: <span class=\"hljs-string\">'addToCart'<\/span>,<br \/>\n  <span class=\"hljs-string\">'ecommerce'<\/span>: {<br \/>\n    <span class=\"hljs-string\">'currencyCode'<\/span>: <span class=\"hljs-string\">'USD'<\/span>,<br \/>\n    <span class=\"hljs-string\">'add'<\/span>: {<br \/>\n      <span class=\"hljs-string\">'products'<\/span>: [{<br \/>\n        <span class=\"hljs-string\">'name'<\/span>: <span class=\"hljs-string\">'Product 1'<\/span>,<br \/>\n        <span class=\"hljs-string\">'id'<\/span>: <span class=\"hljs-string\">'12345'<\/span>,<br \/>\n        <span class=\"hljs-string\">'price'<\/span>: <span class=\"hljs-string\">'29.99'<\/span>,<br \/>\n        <span class=\"hljs-string\">'quantity'<\/span>: <span class=\"hljs-number\">1<\/span><br \/>\n      }]<br \/>\n    }<br \/>\n  }<br \/>\n});<br \/>\n<\/code><\/div>\n<\/div>\n<h4><span class=\"ez-toc-section\" id=\"Checkout\"><\/span>Checkout:<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Tracking users during the checkout process is essential for understanding their behavior.<\/p>\n<div class=\"contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950\">\n<div class=\"flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none\">javascript<\/div>\n<div class=\"sticky top-9 md:top-[5.75rem]\">\n<div class=\"absolute bottom-0 right-2 flex h-9 items-center\">\n<div class=\"flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary\"><span class=\"\" data-state=\"closed\"><button class=\"flex gap-1 items-center select-none py-1\">Copy code<\/button><\/span><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"!whitespace-pre hljs language-javascript\"><span class=\"hljs-variable language_\">window<\/span>.<span class=\"hljs-property\">dataLayer<\/span>.<span class=\"hljs-title function_\">push<\/span>({<br \/>\n  <span class=\"hljs-string\">'event'<\/span>: <span class=\"hljs-string\">'beginCheckout'<\/span>,<br \/>\n  <span class=\"hljs-string\">'ecommerce'<\/span>: {<br \/>\n    <span class=\"hljs-string\">'currencyCode'<\/span>: <span class=\"hljs-string\">'USD'<\/span>,<br \/>\n    <span class=\"hljs-string\">'checkout'<\/span>: {<br \/>\n      <span class=\"hljs-string\">'actionField'<\/span>: {<span class=\"hljs-string\">'step'<\/span>: <span class=\"hljs-number\">1<\/span>},<br \/>\n      <span class=\"hljs-string\">'products'<\/span>: [{<br \/>\n        <span class=\"hljs-string\">'name'<\/span>: <span class=\"hljs-string\">'Product 1'<\/span>,<br \/>\n        <span class=\"hljs-string\">'id'<\/span>: <span class=\"hljs-string\">'12345'<\/span>,<br \/>\n        <span class=\"hljs-string\">'price'<\/span>: <span class=\"hljs-string\">'29.99'<\/span>,<br \/>\n        <span class=\"hljs-string\">'quantity'<\/span>: <span class=\"hljs-number\">1<\/span><br \/>\n      }]<br \/>\n    }<br \/>\n  }<br \/>\n});<br \/>\n<\/code><\/div>\n<\/div>\n<h4><span class=\"ez-toc-section\" id=\"Purchase\"><\/span>Purchase:<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Finally, on the order confirmation page, you need to push transaction data.<\/p>\n<div class=\"contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950\">\n<div class=\"flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none\">javascript<\/div>\n<div class=\"sticky top-9 md:top-[5.75rem]\">\n<div class=\"absolute bottom-0 right-2 flex h-9 items-center\">\n<div class=\"flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary\"><span class=\"\" data-state=\"closed\"><button class=\"flex gap-1 items-center select-none py-1\">Copy code<\/button><\/span><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"!whitespace-pre hljs language-javascript\"><span class=\"hljs-variable language_\">window<\/span>.<span class=\"hljs-property\">dataLayer<\/span>.<span class=\"hljs-title function_\">push<\/span>({<br \/>\n  <span class=\"hljs-string\">'event'<\/span>: <span class=\"hljs-string\">'purchase'<\/span>,<br \/>\n  <span class=\"hljs-string\">'ecommerce'<\/span>: {<br \/>\n    <span class=\"hljs-string\">'transactionId'<\/span>: <span class=\"hljs-string\">'T12345'<\/span>,<br \/>\n    <span class=\"hljs-string\">'affiliation'<\/span>: <span class=\"hljs-string\">'Online Store'<\/span>,<br \/>\n    <span class=\"hljs-string\">'value'<\/span>: <span class=\"hljs-number\">29.99<\/span>,<br \/>\n    <span class=\"hljs-string\">'currencyCode'<\/span>: <span class=\"hljs-string\">'USD'<\/span>,<br \/>\n    <span class=\"hljs-string\">'coupon'<\/span>: <span class=\"hljs-string\">'SUMMER2024'<\/span>,<br \/>\n    <span class=\"hljs-string\">'purchase'<\/span>: {<br \/>\n      <span class=\"hljs-string\">'products'<\/span>: [{<br \/>\n        <span class=\"hljs-string\">'name'<\/span>: <span class=\"hljs-string\">'Product 1'<\/span>,<br \/>\n        <span class=\"hljs-string\">'id'<\/span>: <span class=\"hljs-string\">'12345'<\/span>,<br \/>\n        <span class=\"hljs-string\">'price'<\/span>: <span class=\"hljs-string\">'29.99'<\/span>,<br \/>\n        <span class=\"hljs-string\">'quantity'<\/span>: <span class=\"hljs-number\">1<\/span><br \/>\n      }]<br \/>\n    }<br \/>\n  }<br \/>\n});<br \/>\n<\/code><\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"6_Create_GTM_Triggers_for_E-commerce_Events\"><\/span><strong>6. Create GTM Triggers for E-commerce Events<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Now, create triggers in GTM that fire when the respective events occur.<\/p>\n<ol>\n<li><strong>Product Impressions Trigger<\/strong>:\n<ul>\n<li>Go to <strong>Triggers<\/strong> in GTM and click <strong>New<\/strong>.<\/li>\n<li>Select <strong>Custom Event<\/strong> as the trigger type.<\/li>\n<li>Set the event name to match the event in the data layer, e.g., <code>productImpression<\/code>.<\/li>\n<li>Save the trigger.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Add to Cart Trigger<\/strong>:\n<ul>\n<li>Create a new <strong>Custom Event<\/strong> trigger for the <code>addToCart<\/code> event.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Checkout Trigger<\/strong>:\n<ul>\n<li>Create a new <strong>Custom Event<\/strong> trigger for the <code>beginCheckout<\/code> event.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Purchase Trigger<\/strong>:\n<ul>\n<li>Create a new <strong>Custom Event<\/strong> trigger for the <code>purchase<\/code> event.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h3><span class=\"ez-toc-section\" id=\"7_Set_Up_Google_Analytics_E-commerce_Tags_in_GTM\"><\/span><strong>7. Set Up Google Analytics E-commerce Tags in GTM<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>For each of the e-commerce events, create new <strong>Google Analytics Event<\/strong> tags in GTM.<\/p>\n<ol>\n<li>Go to <strong>Tags<\/strong> in GTM and click <strong>New<\/strong>.<\/li>\n<li>Select <strong>Tag Configuration<\/strong>, then choose <strong>Google Analytics: Universal Analytics<\/strong>.<\/li>\n<li>Choose <strong>Track Type: Event<\/strong>.<\/li>\n<li>In the <strong>Category<\/strong>, <strong>Action<\/strong>, and <strong>Label<\/strong> fields, map the relevant data from the data layer.\n<ul>\n<li>For example, for a purchase event, you might set the <strong>Category<\/strong> as <code>E-commerce<\/code>, the <strong>Action<\/strong> as <code>Purchase<\/code>, and the <strong>Label<\/strong> as the <code>transactionId<\/code>.<\/li>\n<\/ul>\n<\/li>\n<li>In the <strong>Triggering<\/strong> section, select the appropriate trigger for the event (e.g., <code>purchase<\/code> trigger).<\/li>\n<\/ol>\n<p>Repeat this for each event type (product impressions, add to cart, checkout, and purchase).<\/p>\n<h3><span class=\"ez-toc-section\" id=\"8_Test_and_Debug_Enhanced_E-commerce_Tracking\"><\/span><strong>8. Test and Debug Enhanced E-commerce Tracking<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Once all tags, triggers, and variables are set up, use the <strong>Preview Mode<\/strong> in GTM to test that everything is firing correctly.<\/p>\n<ul>\n<li>Verify that the data is being sent to <strong>Google Analytics<\/strong> in the <strong>Real-Time Reports<\/strong>.<\/li>\n<li>Use the <strong>Google Tag Assistant<\/strong> extension or <strong>GTM Debugger<\/strong> to make sure tags are firing properly.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"9_Publish_Your_Container\"><\/span><strong>9. Publish Your Container<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>After confirming that everything is working, publish your container in GTM.<\/p>\n<hr \/>\n<h3><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span><strong>Conclusion<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Setting up Enhanced E-commerce tracking with Google Tag Manager allows you to gather rich insights into your customers\u2019 shopping behavior and optimize your online store. By tracking product impressions, clicks, add-to-cart actions, checkout behavior, and purchases, you can gain a deeper understanding of how users interact with your site, identify potential bottlenecks, and improve your overall conversion rates.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Setting up and tracking Enhanced E-commerce in Google Tag Manager (GTM) involves several steps that allow you to capture more detailed transaction and product-related data&#8230;<\/p>\n","protected":false},"author":214,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-10425","post","type-post","status-publish","format-standard","hentry","category-digital-marketing"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to set up and track enhanced e-commerce in Google Tag Manager - CEOweb Ltd. Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to set up and track enhanced e-commerce in Google Tag Manager - CEOweb Ltd. Blog\" \/>\n<meta property=\"og:description\" content=\"Setting up and tracking Enhanced E-commerce in Google Tag Manager (GTM) involves several steps that allow you to capture more detailed transaction and product-related data...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/\" \/>\n<meta property=\"og:site_name\" content=\"CEOweb Ltd. Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-06T22:50:53+00:00\" \/>\n<meta name=\"author\" content=\"Emmanuel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Emmanuel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/\",\"url\":\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/\",\"name\":\"How to set up and track enhanced e-commerce in Google Tag Manager - CEOweb Ltd. Blog\",\"isPartOf\":{\"@id\":\"https:\/\/ceowebltd.com\/blog\/#website\"},\"datePublished\":\"2024-11-06T22:50:53+00:00\",\"dateModified\":\"2024-11-06T22:50:53+00:00\",\"author\":{\"@id\":\"https:\/\/ceowebltd.com\/blog\/#\/schema\/person\/4759c204c0b0f1d134ec16e8ec777a6f\"},\"breadcrumb\":{\"@id\":\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/ceowebltd.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to set up and track enhanced e-commerce in Google Tag Manager\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/ceowebltd.com\/blog\/#website\",\"url\":\"https:\/\/ceowebltd.com\/blog\/\",\"name\":\"CEOweb Ltd. Blog\",\"description\":\"Guest Posting - Digital Marketing &amp; Web Services\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/ceowebltd.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/ceowebltd.com\/blog\/#\/schema\/person\/4759c204c0b0f1d134ec16e8ec777a6f\",\"name\":\"Emmanuel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ceowebltd.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9e883d40261b9b272de51992551b3eec4df631b7579a4fbec69c36a006dcbaf2?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9e883d40261b9b272de51992551b3eec4df631b7579a4fbec69c36a006dcbaf2?s=96&d=mm&r=g\",\"caption\":\"Emmanuel\"},\"url\":\"https:\/\/ceowebltd.com\/blog\/author\/emmanuel\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to set up and track enhanced e-commerce in Google Tag Manager - CEOweb Ltd. Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/","og_locale":"en_US","og_type":"article","og_title":"How to set up and track enhanced e-commerce in Google Tag Manager - CEOweb Ltd. Blog","og_description":"Setting up and tracking Enhanced E-commerce in Google Tag Manager (GTM) involves several steps that allow you to capture more detailed transaction and product-related data...","og_url":"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/","og_site_name":"CEOweb Ltd. Blog","article_published_time":"2024-11-06T22:50:53+00:00","author":"Emmanuel","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Emmanuel","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/","url":"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/","name":"How to set up and track enhanced e-commerce in Google Tag Manager - CEOweb Ltd. Blog","isPartOf":{"@id":"https:\/\/ceowebltd.com\/blog\/#website"},"datePublished":"2024-11-06T22:50:53+00:00","dateModified":"2024-11-06T22:50:53+00:00","author":{"@id":"https:\/\/ceowebltd.com\/blog\/#\/schema\/person\/4759c204c0b0f1d134ec16e8ec777a6f"},"breadcrumb":{"@id":"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/ceowebltd.com\/blog\/how-to-set-up-and-track-enhanced-e-commerce-in-google-tag-manager-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ceowebltd.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to set up and track enhanced e-commerce in Google Tag Manager"}]},{"@type":"WebSite","@id":"https:\/\/ceowebltd.com\/blog\/#website","url":"https:\/\/ceowebltd.com\/blog\/","name":"CEOweb Ltd. Blog","description":"Guest Posting - Digital Marketing &amp; Web Services","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ceowebltd.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/ceowebltd.com\/blog\/#\/schema\/person\/4759c204c0b0f1d134ec16e8ec777a6f","name":"Emmanuel","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ceowebltd.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9e883d40261b9b272de51992551b3eec4df631b7579a4fbec69c36a006dcbaf2?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9e883d40261b9b272de51992551b3eec4df631b7579a4fbec69c36a006dcbaf2?s=96&d=mm&r=g","caption":"Emmanuel"},"url":"https:\/\/ceowebltd.com\/blog\/author\/emmanuel\/"}]}},"_links":{"self":[{"href":"https:\/\/ceowebltd.com\/blog\/wp-json\/wp\/v2\/posts\/10425","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ceowebltd.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ceowebltd.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ceowebltd.com\/blog\/wp-json\/wp\/v2\/users\/214"}],"replies":[{"embeddable":true,"href":"https:\/\/ceowebltd.com\/blog\/wp-json\/wp\/v2\/comments?post=10425"}],"version-history":[{"count":1,"href":"https:\/\/ceowebltd.com\/blog\/wp-json\/wp\/v2\/posts\/10425\/revisions"}],"predecessor-version":[{"id":10426,"href":"https:\/\/ceowebltd.com\/blog\/wp-json\/wp\/v2\/posts\/10425\/revisions\/10426"}],"wp:attachment":[{"href":"https:\/\/ceowebltd.com\/blog\/wp-json\/wp\/v2\/media?parent=10425"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ceowebltd.com\/blog\/wp-json\/wp\/v2\/categories?post=10425"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ceowebltd.com\/blog\/wp-json\/wp\/v2\/tags?post=10425"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}