Logo of TAGGRS, written in blue and with a small favicon
HomeServer-side TrackingMeta CAPI Gateway
Introduction
Get started
Get started with TAGGRSSet up Google Tag ManagerAdd the GTM Data LayerConfigure GTM transformationsTest the setupDebuggingAnalytics dashboard
Migrate from Google CloudMigrate from hosting
Shortcuts
GTM Copy PasteReady-made templates
GA4 Server-side Tracking
Setup in GTMCreate GA4 Event TagsGA4 tag setup in server containerE-commerce events in GTM
Google Ads Server-side Tracking
Install Conversion LinkerSet up Conversion TrackingConfigure Enhanced ConversionsDeploy Remarketing Tags
Facebook Server-side Tracking
Set Meta PixelImprove your EMQ ScoreInstall Meta CAPIMeta Events Deduplication
LinkedIn Server-side Tracking
Install LinkedIn Insight TagSet up LinkedIn CAPILinkedIn Events Deduplication
TikTok Server-side Tracking
Set up TikTok PixelInstall TikTok Events APITikTok Events Deduplication
Pinterest Server-side Tracking
Set up Pinterest TagConfigure Pinterest Conversions APIPinterest Events Deduplication
Snapchat Server-side Tracking
Set up Snap PixelSnapchat Conversions APISnapchat Events Deduplication
TAGGRS Tracking Tags and Tools
Tracking TagsGoogle Service Account integrationsGTM LogsProfit TrackingData Enricher ToolWebhooks TesterEnhanced Tracking ScriptMulti Domain ToolClick ID RecoveryConsent Tool
Configurations
Billy Grace Server-side TrackingLeadPages Server-side TrackingPiwik PRO Server-side TrackingCDN Server-side TrackingShopify Server-side TrackingActiveCampaign Server-side TrackingKlaviyo Server-side TrackingSpectacle Server-side Tracking
Server-side Tracking for e-commerce
Shopify Data LayerShopware Data LayerMagento Data LayerWooCommerce Data LayerPrestashop Data LayerLightspeed Data Layer
Consent Management server-side
Activate Consent ModeConfigure TAGGRS with Axeptio

Create e-commerce events in GTM

This guide provides a clear, step-by-step process for implementing GA4 e-commerce event tracking in the GTM web container, ensuring your data is structured, reliable, and ready for advanced analytics.
Logo of TAGGRS Server-side Tracking: a light blue circle with two blue angle brackets
Tracking e-commerce events is essential for optimizing conversion funnels. With TAGGRS, Google Tag Manager and Google Analytics 4, you can measure crucial actions like purchases, add-to-cart, and checkout steps. So you can quantify popular products, analyze sales journeys, and attribute revenue accurately.

Prepare your Data Layer

E-commerce event tracking in GA4 relies on a well-structured data layer. This is typically populated by your e-commerce platform or custom code.

• Use the GA4 e-commerce schema for consistency.
• For platforms like WooCommerce, Magento, Shopify, or Shopware, use official plugins or extensions to inject the correct data layer.

Logo of TAGGRS Server-side Tracking: a light blue circle with two blue angle brackets
Expert tip
Always use GTM’s Preview mode to inspect your data layer and verify that events and parameters are pushed correctly.

Create a custom event trigger

  1. In GTM, go to Triggers and click New.
  2. Choose Custom Event as the trigger type.
  3. Enter the Event Name exactly as it appears in your data layer (e.g., purchase, add_to_cart).
  4. Set the trigger to fire on Some Custom Events if you want to filter further, or All Custom Events for all occurrences.
  5. Save the trigger.

Define Data Layer variables

To send e-commerce details to GA4, you need to create variables that extract values from the data layer:

  1. Go to Variables in GTM and click New.
  2. Select Data Layer Variable.
  3. Enter the data layer path (e.g., ecommerce.value, ecommerce.items, ecommerce.transaction_id).
  4. Name your variable descriptively (e.g., “DLV – ecommerce.value”).
  5. Repeat for each parameter you want to track (see table below for common variables).

Data Layer Variables descriptions

ecommerce.value
Revenue value of the event
ecommerce.currency
Currency code (e.g., USD, EUR)
ecommerce.items
Array of product objects
ecommerce.transaction_id
Unique transaction ID (for purchases)
ecommerce.coupon
Applied coupon code
ecommerce.affiliation
Store or affiliate name
ecommerce.payment_type
Payment method selected
ecommerce.shipping
Shipping cost
ecommerce.tax
Tax amount

Set the trigger for the GA4 Tag

  1. In the tag settings, click Triggering.
  2. Click the + icon to create a new trigger.
  3. Choose Custom as the trigger type.
  4. Set the trigger to fire on events generated by the GA4 client:
    • Under conditions, select Client Name equals GA4.
    • This ensures the tag only fires for events parsed by the GA4 client.
  5. Save the trigger and tag configuration.
Logo of TAGGRS Server-side Tracking: a light blue circle with two blue angle brackets
Expert tip
Use GTM Preview mode to confirm the correct variable paths for your setup.

Create a GA4 Event Tag

  1. Go to Tags and click New.
  2. Choose Google Analytics: GA4 Event as the tag type.
  3. Select your existing GA4 Configuration tag under Configuration Tag.
  4. Enter the Event Name (e.g., purchase, add_to_cart).
  5. In Event Parameters, add rows for each parameter you want to send (e.g., value, currency, items, transaction_id). Use the data layer variables you created.
  6. Link the tag to the custom event trigger you set up in Step 2.
  7. Save the tag.

What e-commerce events can you track with GA4 server-side?

view_item_list

• event description: User views a product list
• required parameters: items (each item must have item_id, item_name price)
• optional parameters: item_list_id, item_list_name, index, item_brand, item_category(1–5), item_variant

dataLayer.push({ ecommerce: null });
dataLayer.push({
  event: "view_item_list",
  ecommerce: {
    item_list_id: "taggrs_collection",
    item_list_name: "TAGGRS Collection",
    items: [
      {
        item_id: "T123",
        item_name: "Tee",
        item_brand: "TAGGRS",
        item_category: "Apparel",
        item_variant: "Blue",
        price: 19.99,
        index: 0
      }
    ]
  }
});

How to setup the tag

• Tag type: Google Analytics: GA4 Event
•
Event Name: view_item_list
• Data Layer Variables (Name - Data Layer Variable Name):

  • Ecommerce Items - ecommerce.itemsEcommerce
  • Item List ID - ecommerce.item_list_id
  • Ecommerce Item List Name - ecommerce.item_list_name

Event Parameters (Parameter Name - Value):

  • items - {{Ecommerce Items}}
  • item_list_id - {{Ecommerce Item List ID}}
  • item_list_name - {{Ecommerce Item List Name}}

Trigger configuration:

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

select_item

• event description: User selects a product from a list
• required parameters: items (must include at least one item with item_id, item_name, price)
• optional parameters: item_list_id, item_list_name, index, item_brand, item_category(1–5), item_variant

dataLayer.push({ ecommerce: null });
dataLayer.push({
  event: "select_item",
  ecommerce: {
    item_list_id: "taggrs_collection",
    item_list_name: "TAGGRS Collection",
    items: [
      {
        item_id: "T123",
        item_name: "Tee",
        item_brand: "TAGGRS",
        item_category: "Apparel",
        item_variant: "Blue",
        price: 19.99,
        index: 0
      }
    ]
  }
});

How to setup the tag

• Tag type: Google Analytics: GA4 Event
•
Event Name: select_item
• Data Layer Variables (Name - Data Layer Variable Name):

  • Ecommerce Items - ecommerce.items
  • Ecommerce Item List ID - ecommerce.item_list_id
  • Ecommerce Item List Name - ecommerce.item_list_name

Event Parameters (Parameter Name - Value):

  • items - {{Ecommerce Items}}
  • item_list_id - {{Ecommerce Item List ID}}
  • item_list_name - {{Ecommerce Item List Name}}

Trigger configuration:

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

view_item

• event description: User views a product detail page
• required parameters: items (single item with item_id, item_name, price), value, currency
• optional parameters: item_brand, item_category(1–5), item_variant

dataLayer.push({ ecommerce: null });
dataLayer.push({
  event: "view_item",
  ecommerce: {
    currency: "EUR",
    value: 19.99,
    items: [
      {
        item_id: "T123",
        item_name: "Tee",
        item_brand: "TAGGRS",
        item_category: "Apparel",
        item_variant: "Blue",
        price: 19.99
      }
    ]
  }
});

How to setup the tag

• Tag type: Google Analytics: GA4 Event
•
Event Name: view_item
• Data Layer Variables (Name - Data Layer Variable Name):

  • Ecommerce Items - ecommerce.items
  • Ecommerce Value - ecommerce.value
  • Ecommerce Currency - ecommerce.currency

Event Parameters (Parameter Name - Value):

  • items - {{Ecommerce Items}}
  • value - {{Ecommerce Value}}
  • currency - {{Ecommerce Currency}}

Trigger configuration:

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

add_to_cart

• event description: User adds a product to the shopping cart
• required parameters: value, currency, items (with item_id, item_name, quantity, price)
• optional parameters: item_brand, item_category(1–5), item_variant

dataLayer.push({ ecommerce: null });
dataLayer.push({
  event: "add_to_cart",
  ecommerce: {
    currency: "EUR",
    value: 19.99,
    items: [
      {
        item_id: "T123",
        item_name: "Tee",
        item_brand: "TAGGRS",
        item_category: "Apparel",
        item_variant: "Blue",
        price: 19.99,
        quantity: 1
      }
    ]
  }
});

How to setup the tag

• Tag type: Google Analytics: GA4 Event
•
Event Name: add_to_cart
• Data Layer Variables (Name - Data Layer Variable Name):

  • Ecommerce Items - ecommerce.items
  • Ecommerce Value - ecommerce.value
  • Ecommerce Currency - ecommerce.currency

Event Parameters (Parameter Name - Value):

  • items - {{Ecommerce Items}}
  • value - {{Ecommerce Value}}
  • currency - {{Ecommerce Currency}}

Trigger configuration:

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

remove_from_cart

• event description: User removes a product from the shopping cart
• required parameters: currency, value, items (with item_id, item_name, quantity, price)
• optional parameters: item_brand, item_category(1–5), item_variant

dataLayer.push({ ecommerce: null });
dataLayer.push({
  event: "remove_from_cart",
  ecommerce: {
    currency: "EUR",
    value: 19.99,
    items: [
         {
        item_id: "T123",
        item_name: "Tee",
        item_brand: "TAGGRS",
        item_category: "Apparel",
        item_variant: "Blue",
        price: 19.99,
        quantity: 1
      }
    ]
  }
});

How to setup the tag

• Tag type: Google Analytics: GA4 Event
•
Event Name: add_to_cart
• Data Layer Variables (Name - Data Layer Variable Name):

  • Ecommerce Items - ecommerce.items
  • Ecommerce Value - ecommerce.value
  • Ecommerce Currency - ecommerce.currency

Event Parameters (Parameter Name - Value):

  • items - {{Ecommerce Items}}
  • value - {{Ecommerce Value}}
  • currency - {{Ecommerce Currency}}

Trigger configuration:

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

view_cart

• event description: User views the shopping cart
• required parameters: currency, value, items (with item_id, item_name, quantity, price)
• optional parameters: item_brand, item_category(1–5), item_variant

dataLayer.push({ ecommerce: null });
dataLayer.push({
  event: "view_cart",
  ecommerce: {
    currency: "EUR",
    value: 19.99,
     items: [
       {
        item_id: "T123",
        item_name: "Tee",
        item_brand: "TAGGRS",
        item_category: "Apparel",
        item_variant: "Blue",
        price: 19.99,
        quantity: 1
      }
    ]
  }
});

How to setup the tag

• Tag type: Google Analytics: GA4 Event
•
Event Name: view_cart
• Data Layer Variables (Name - Data Layer Variable Name):

  • Ecommerce Items - ecommerce.items
  • Ecommerce Value - ecommerce.value
  • Ecommerce Currency - ecommerce.currency

Event Parameters (Parameter Name - Value):

  • items - {{Ecommerce Items}}
  • value - {{Ecommerce Value}}
  • currency - {{Ecommerce Currency}}

Trigger configuration:

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

add_to_wishlist

• event description: User adds a product to a wishlist
• required parameters: currency, value, items (with item_id, item_name, quantity, price)
• optional parameters: item_brand, item_category(1–5), item_variant

dataLayer.push({ ecommerce: null });
dataLayer.push({
  event: "add_to_wishlist",
  ecommerce: {
     currency: "EUR",
     value: 19.99,
     items: [
         {
        item_id: "T123",
        item_name: "Tee",
        item_brand: "TAGGRS",
        item_category: "Apparel",
        item_variant: "Blue",
        price: 19.99,
        quantity: 1
      }
    ]
  }
});

How to setup the tag

• Tag type: Google Analytics: GA4 Event
•
Event Name: add_to_wishlist
• Data Layer Variables (Name - Data Layer Variable Name):

  • Ecommerce Items - ecommerce.items
  • Ecommerce Value - ecommerce.value
  • Ecommerce Currency - ecommerce.currency

Event Parameters (Parameter Name - Value):

  • items - {{Ecommerce Items}}
  • value - {{Ecommerce Value}}
  • currency - {{Ecommerce Currency}}

Trigger configuration:

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

begin_checkout

• event description: User initiates the checkout process
• required parameters: currency, value, items (with item_id, item_name, quantity, price)
• optional parameters: item_brand, item_category(1–5), item_variant

dataLayer.push({ ecommerce: null });
dataLayer.push({
  event: "begin_checkout",
  ecommerce: {
    currency: "EUR",
    value: 19.99,
    items: [
         {
        item_id: "T123",
        item_name: "Tee",
        item_brand: "TAGGRS",
        item_category: "Apparel",
        item_variant: "Blue",
        price: 19.99,
        quantity: 1
      }
    ]
  }
});

How to setup the tag

• Tag type: Google Analytics: GA4 Event
•
Event Name: begin_checkout
• Data Layer Variables (Name - Data Layer Variable Name):

  • Ecommerce Items - ecommerce.items
  • Ecommerce Value - ecommerce.value
  • Ecommerce Currency - ecommerce.currency

Event Parameters (Parameter Name - Value):

  • items - {{Ecommerce Items}}
  • value - {{Ecommerce Value}}
  • currency - {{Ecommerce Currency}}

Trigger configuration:

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

add_shipping_info

• event description: User selects a shipping option
• required parameters: currency, value, items (with item_id, item_name, quantity, price)
• optional parameters: item_brand, item_category(1–5), item_variant

dataLayer.push({ ecommerce: null });
dataLayer.push({
  event: "add_shipping_info",
  ecommerce: {
    currency: "EUR",
    value: 24.99,
    shipping_tier: "Standard Shipping",
     items: [
      {
        item_id: "T123",
        item_name: "Tee",
        item_brand: "TAGGRS",
        item_category: "Apparel",
        item_variant: "Blue",
        price: 19.99,
        quantity: 1
      }
    ]
  }
});

How to setup the tag

• Tag type: Google Analytics: GA4 Event
•
Event Name: add_shipping_info
• Data Layer Variables (Name - Data Layer Variable Name):

  • Ecommerce Items - ecommerce.items
  • Ecommerce Value - ecommerce.value
  • Ecommerce Currency - ecommerce.currency

Event Parameters (Parameter Name - Value):

  • items - {{Ecommerce Items}}
  • value - {{Ecommerce Value}}
  • currency - {{Ecommerce Currency}}

Trigger configuration:

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

add_payment_info

• event description: User selects a shipping option
• required parameters: currency, value, items (with item_id, item_name, quantity, price)
• optional parameters: item_brand, item_category(1–5), item_variant

dataLayer.push({ ecommerce: null });
dataLayer.push({
  event: "add_payment_info",
  ecommerce: {
    currency: "EUR",
    value: 24.99,
    payment_type: "credit_card",
    items: [
      {
        item_id: "T123",
        item_name: "Tee",
        item_brand: "TAGGRS",
        item_category: "Apparel",
        item_variant: "Blue",
        price: 19.99,
        quantity: 1
      }
    ]
  }
});

How to setup the tag

• Tag type: Google Analytics: GA4 Event
•
Event Name: add_shipping_info
• Data Layer Variables (Name - Data Layer Variable Name):

  • Ecommerce Items - ecommerce.items
  • Ecommerce Value - ecommerce.value
  • Ecommerce Currency - ecommerce.currency

Event Parameters (Parameter Name - Value):

  • items - {{Ecommerce Items}}
  • value - {{Ecommerce Value}}
  • currency - {{Ecommerce Currency}}

Trigger configuration:

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

purchase

• event description: User completes a purchase
• required parameters: currency, value, items (with item_id, item_name, quantity, price)
• optional parameters: item_brand, item_category(1–5), item_variant

dataLayer.push({ ecommerce: null });
dataLayer.push({
  event: "purchase",
  ecommerce: {
    transaction_id: "T_12345",
    affiliation: "Online Store",
    value: 24.99,
    tax: 5.00,
    shipping: 5.00,
    currency: "EUR",
    coupon: "TAGGRS10",
    items: [
      {
        item_id: "T123",
        item_name: "Tee",
        item_brand: "TAGGRS",
        item_category: "Apparel",
        item_variant: "Blue",
        price: 19.99,
        quantity: 1
      }
    ]
  }
});

How to setup the tag

• Tag type: Google Analytics: GA4 Event
•
Event Name: purchase
• Data Layer Variables (Name - Data Layer Variable Name):

  • Ecommerce Items - ecommerce.items
  • Ecommerce Transaction ID - ecommerce.transaction_id
  • Ecommerce Value - ecommerce.value
  • Ecommerce Tax - ecommerce.tax
  • Ecommerce Shipping - ecommerce.shipping
  • Ecommerce Currency - ecommerce.currency
  • Ecommerce Coupon - ecommerce.coupon

Event Parameters (Parameter Name - Value):

  • items - {{Ecommerce Items}}
  • transaction_id - {{Ecommerce Transaction ID}}
  • value - {{Ecommerce Value}}
  • tax - {{Ecommerce Tax}}
  • shipping - {{Ecommerce Shipping}}
  • currency - {{Ecommerce Currency}}
  • coupon - {{Ecommerce Coupon}}

Trigger configuration:

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

refund

• event description: User receives a refund
• required parameters: transaction_id
• optional parameters: items (for partial refunds), currency, value

dataLayer.push({ ecommerce: null });
dataLayer.push({
  event: "refund",
  ecommerce: {
    transaction_id: "T_12345",
    value: 19.99,
    currency: "EUR",
    items: [
      {
        item_id: "T123",
        item_name: "Tee",
        item_brand: "TAGGRS",
        item_category: "Apparel",
        item_variant: "Blue",
        price: 19.99,
        quantity: 1
      }
    ]
  }
});

How to setup the tag

• Tag type: Google Analytics: GA4 Event
•
Event Name: refund
• Data Layer Variables (Name - Data Layer Variable Name):

  • Ecommerce Items - ecommerce.items
  • Ecommerce Transaction ID - ecommerce.transaction_id
  • Ecommerce Value - ecommerce.value
  • Ecommerce Currency - ecommerce.currency

Event Parameters (Parameter Name - Value):

  • items - {{Ecommerce Items}}
  • transaction_id - {{Ecommerce Transaction ID}}
  • value - {{Ecommerce Value}}
  • currency - {{Ecommerce Currency}}

Trigger configuration:

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

view_promotion

• event description: User views an internal promotion
• required parameters: items (with item_id, item_name, quantity, price), promotion_id, promotion_name
• optional parameters: creative_name, creative_slot, location_id

dataLayer.push({ ecommerce: null });
dataLayer.push({
  event: "view_promotion",
  ecommerce: {
    creative_name: "TAGGRS Banner",
    creative_slot: "featured_app_1",
    promotion_id: "P_12345",
    promotion_name: "TAGGRS Sale",
    items: [
    {
      item_id: "T_123",
      item_name: "TAGGRS Tee",
      item_brand: "TAGGRS",
      item_category: "Apparel",
      item_list_id: "related_products",
      item_list_name: "Related Products",
      item_variant: "green",
      price: 10.01,
      quantity: 3
    }
    ]
  }
});

How to setup the tag

• Tag type: Google Analytics: GA4 Event
•
Event Name: view_promotion
• Data Layer Variables (Name - Data Layer Variable Name):

  • Ecommerce Promotion ID - ecommerce.promotion_id
  • Ecommerce Promotion Name - ecommerce.promotion_name
  • Ecommerce Items - ecommerce.items

Event Parameters (Parameter Name - Value):

  • promotion_id - {{Ecommerce Promotion ID}}
  • promotion_name - {{Ecommerce Promotion Name}}
  • items - {{Ecommerce Items}}

Trigger configuration:

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

select_promotion

• event description: User clicks or selects a promotion
• required parameters: items (each with item_id, item_name, quantity, price), promotion_id, promotion_name
• optional parameters: creative_name, creative_slot, location_id

dataLayer.push({ ecommerce: null });
dataLayer.push({
  event: "select_promotion",
  ecommerce: {
    creative_name: "TAGGRS Banner",
    creative_slot: "featured_app_1",
    promotion_id: "P_12345",
    promotion_name: "TAGGRS Sale",
    items: [
    {
      item_id: "T_123",
      item_name: "TAGGRS Tee",
      item_brand: "TAGGRS",
      item_category: "Apparel",
      item_list_id: "related_products",
      item_list_name: "Related Products",
      item_variant: "green",
      price: 10.01,
      quantity: 3
    }
    ]
  }
});

How to setup the tag

• Tag type: Google Analytics: GA4 Event
•
Event Name: select_promotion
• Data Layer Variables (Name - Data Layer Variable Name):

  • Ecommerce Creative Name - ecommerce.creative_name
  • Ecommerce Creative Slot - ecommerce.creative_slot
  • Ecommerce Promotion ID - ecommerce.promotion_id
  • Ecommerce Promotion Name - ecommerce.promotion_name
  • Ecommerce Items - ecommerce.items

Event Parameters (Parameter Name - Value):

  • creative_name - {{Ecommerce Creative Name}}
  • creative_slot - {{Ecommerce Creative Slot}}
  • promotion_id - {{Ecommerce Promotion ID}}
  • promotion_name - {{Ecommerce Promotion Name}}
  • items - {{Ecommerce Items}}

Trigger configuration:

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

Test and publish

Before publishing, it’s important to confirm that your GA4 e-commerce tracking works as expected. T dos, please follow the net 6 steps:

1. Enter Preview mode in GTM

• Click Preview in the top-right corner of Google Tag Manager.
• Enter your website’s URL and click Connect. This will open your site in a new tab and connect it to the Tag Assistant.

2. Trigger your e-commerce events

Perform actions on your site that should trigger e-commerce events, such as:

• Viewing a product (view_item)
• Adding a product to the cart (add_to_cart)
• Beginning checkout (begin_checkout)
• Completing a purchase (purchase)

In the Tag Assistant window, verify that the correct tags fire for each event.

3. Inspect event details

• Open each triggered tag to ensure the correct parameters (like items, value, currency, and transaction_id) are being sent.
• If parameters are missing or incorrectly formatted, review your data layer setup and tag configuration.

4. Validate in GA4 DebugView

• In GA4, navigate to Admin → DebugView.
• Make sure your events appear in real time and check that event names and parameters match your expected schema.
• Use this to confirm the end-to-end connection between your GTM container and GA4 property.

5. Resolve any issues

• If events don’t appear in DebugView, ensure the GA4 Configuration Tag is firing before your e-commerce event tags.
• Double-check data layer variables and trigger conditions.

6. Publish

• Once all e-commerce events are firing correctly and data is visible in DebugView, click Submit in GTM.
• Add a clear version name and description (e.g., “GA4 e-commerce setup – verified in DebugView”), then click Publish.

    Useful resources

    Google Analytics 4 logo in white
    Read the full manual on GA4 Server-side Tracking
    icon of a white upward arrow
    icon of a white thunder used by TAGGRS to visually introduce Server-side Tracking
    Start for free with Server-side Tracking
    icon of a white upward arrow
    White silhouette of a person used as icon for the support call to action
    Get expert support
    icon of a white upward arrow
    Previous
    GA4 tag setup
    Next
    Install Google Ads Conversion Linker
    DOCUMENTATION V1.3
    Copyright © 2025 TAGGRS. All right reserved.
    TABLE OF CONTENTS
    Prepare your Data LayerCreate a custom event triggerDefine Data Layer variablesSet the triggerCreate a GA4 Event TagWhat e-commerce events can you track?Test and publishTroubleshootingUseful resources