hello@newnorth.nl+31 (0) 85 401 31 62
/Journal

Impact GTM tag template

TemplateGTM2026.04.04
Freek Kampen
Freek KampenCo-founder, New North Digital

Impact.com partnership tracking in Google Tag Manager, with the Universal Tracking Tag, visitor identification and item-level conversion tracking.

What it does

The Impact template brings Impact.com's partnership tracking into GTM with three action types: Universal Tracking Tag, Identify Visitor and Track Conversion.

The UTT loads Impact's script and creates the ire() command queue. The other two call into that queue to identify visitors and report conversions.

Features

  • Three action types in one template
  • The UTT creates the ire() queue and loads the account script from https://utt.impactcdn.com/{accountUUID}.js
  • Visitor identification supports Customer ID, Customer Email and Custom Profile ID for cross-device matching
  • Conversion tracking supports item-level product data, customer status, promo codes and discount amounts
  • Built on Impact's official JavaScript UTT integration pattern
  • Works with Consent Mode when paired with the right consent triggers

Installation

  • In your GTM workspace, go to Templates, then Tag Templates, then Search Gallery.
  • Search for Impact and add the template.
  • Create three tags: UTT on all pages, Identify Visitor on all pages after the UTT, and Track Conversion on the order confirmation.

Configuration

Step 1. The Universal Tracking Tag. Action Type Universal Tracking Tag with your Account UUID. It has to fire on every page and must be the first Impact tag to load, since it creates the global ire() function.

Step 2. Identify Visitor. Map Customer ID, Customer Email or Custom Profile ID to your user data variables, and fire it on every page where the visitor is logged in. At least one of the three has to resolve to something. Use Tag Sequencing with the UTT as setup tag, so the ire() queue exists before ire('identify') is called.

Step 3. Order data variables. Create Data Layer Variables for ecommerce.transaction_id, ecommerce.value, ecommerce.currency and ecommerce.items, plus customer status, promo code and discount where relevant.

Step 4. Track Conversion. Fill in the Action Tracker ID from your Impact dashboard and map the rest. Use Tag Sequencing here too.

ire('trackConversion', actionTrackerId, {
  orderId: 'ORD-12345',
  currencyCode: 'EUR',
  customerStatus: 'New',
  customerId: '98765',
  customerEmail: 'customer@example.com',
  customProfileId: 'profile-xyz',
  promoCode: 'WELCOME15',
  discount: 15.00,
  items: [...]
});

dataLayer snippet

Push this on your order confirmation page:

dataLayer.push({
  event: 'purchase',
  ecommerce: {
    transaction_id: 'ORD-12345',
    value: 234.50,
    currency: 'EUR',
    items: [
      { item_id: 'PROD-A1', item_name: 'Wireless Headphones',
        item_category: 'Electronics', price: 149.50, quantity: 1 },
      { item_id: 'PROD-B2', item_name: 'Phone Case',
        item_category: 'Accessories', price: 85.00, quantity: 1 }
    ]
  }
});

Troubleshooting

Script not loading. Verify the Account UUID. The URL is https://utt.impactcdn.com/{accountUUID}.js, and a wrong UUID gives a 404 or an empty response.

ire() is not defined. The Identify or Conversion tag fires before the UTT has loaded. Set Tag Sequencing so the UTT is the setup tag for both.

Conversions missing from the dashboard. Check the Action Tracker ID. Every conversion type in Impact has its own, and the wrong one means the conversion arrives but cannot be matched. Find it under Tracking, Action Trackers.

Identification not working. At least one of Customer ID, Customer Email or Custom Profile ID has to be non-empty, otherwise ire('identify') has nothing to match on.

Customer Status blank. The field expects exactly New or Returning. A boolean or a number will not do.

Duplicate conversions. Like any client-side tracking, the tag fires on every load of the confirmation page. Deduplicate with a one-time dataLayer push or a session flag.

Items format mismatch. Impact expects specific item properties. Check the documentation for the schema your Action Tracker needs, since the dataLayer array may need transforming first.

Support

  • Impact JavaScript UTT integration guide: https://integrations.impact.com/impact-brand/docs/javascript-utt-tracking-integration
  • Impact Help Center: https://help.impact.com/
  • Impact dashboard: https://app.impact.com/
  • GTM Community Template Gallery: search Impact

Want to talk about this?

Let's talk data.

Tell us about your stack, your goals, the data you wish you had.

Takes 1 minute