AdRoll Event Tracking | Blue Frog Docs

AdRoll Event Tracking

Complete guide to AdRoll Pixel and conversion tracking

AdRoll Event Tracking

Overview

AdRoll uses the AdRoll Pixel for conversion tracking, dynamic product retargeting, and cross-channel campaign optimization. As a growth marketing platform, AdRoll provides unified tracking across display, social, and email channels with robust ecommerce integration and audience segmentation capabilities.

Standard Events

AdRoll supports standard events for ecommerce and lead generation:

Ecommerce Events

  • Purchase - Transaction completed
  • Add to Cart - Product added to cart
  • Product View - Product page viewed
  • Category View - Category page viewed
  • Homepage View - Homepage visited

Lead Generation Events

  • Lead - Form submission
  • Sign Up - Account registration
  • Custom - Business-specific events

Custom Events

Creating Custom Conversions

Define custom conversion tracking:

// Custom event
__adroll.record_user({
  "adroll_segments": "custom_segment_name"
});

// Custom conversion
__adroll.record_conversion({
  "adroll_conversion_value": 25.00,
  "adroll_currency": "USD",
  "order_id": "CUSTOM_12345"
});

Ecommerce Events

Purchase Tracking

Complete purchase implementation:

<!-- AdRoll Pixel Base Code (on all pages) -->
<script type="text/javascript">
adroll_adv_id = "YOUR_ADVERTISER_ID";
adroll_pix_id = "YOUR_PIXEL_ID";
adroll_version = "2.0";

(function(w, d, e, o, a) {
  w.__adroll_loaded = true;
  w.adroll = w.adroll || [];
  w.adroll.f = [ 'setProperties', 'identify', 'track' ];
  var roundtripUrl = "https://s.adroll.com/j/" + adroll_adv_id + "/roundtrip.js";
  for (a = 0; a < w.adroll.f.length; a++) {
    w.adroll[w.adroll.f[a]] = w.adroll[w.adroll.f[a]] || (function(n) {
      return function() {
        w.adroll.push([ n, arguments ])
      }
    })(w.adroll.f[a])
  }

  e = d.createElement('script');
  o = d.getElementsByTagName('script')[0];
  e.async = 1;
  e.src = roundtripUrl;
  o.parentNode.insertBefore(e, o);
})(window, document);

adroll.track("pageView");
</script>

<!-- Purchase Event (on confirmation page) -->
<script type="text/javascript">
adroll.track("purchase", {
  "products": [
    {
      "product_id": "SKU_123",
      "price": "99.99",
      "quantity": 1
    },
    {
      "product_id": "SKU_456",
      "price": "49.99",
      "quantity": 2
    }
  ],
  "conversion_value": "149.99",
  "currency": "USD",
  "order_id": "ORDER_12345"
});
</script>

Dynamic Product Retargeting

Track product interactions:

// Product View
adroll.track("productView", {
  "product_id": "SKU_123",
  "product_name": "Blue Widget",
  "product_category": "Widgets",
  "product_price": "99.99",
  "currency": "USD"
});

// Add to Cart
adroll.track("addToCart", {
  "product_id": "SKU_123",
  "product_name": "Blue Widget",
  "price": "99.99",
  "quantity": 1,
  "currency": "USD"
});

// Category View
adroll.track("categoryView", {
  "product_category": "Widgets"
});

Conversion Tracking

Implementation Methods

1. AdRoll Pixel (JavaScript)

Standard implementation:

<script type="text/javascript">
adroll_adv_id = "YOUR_ADVERTISER_ID";
adroll_pix_id = "YOUR_PIXEL_ID";
adroll_version = "2.0";

(function(w, d, e, o, a) {
  w.__adroll_loaded = true;
  w.adroll = w.adroll || [];
  w.adroll.f = [ 'setProperties', 'identify', 'track' ];
  var roundtripUrl = "https://s.adroll.com/j/" + adroll_adv_id + "/roundtrip.js";
  for (a = 0; a < w.adroll.f.length; a++) {
    w.adroll[w.adroll.f[a]] = w.adroll[w.adroll.f[a]] || (function(n) {
      return function() {
        w.adroll.push([ n, arguments ])
      }
    })(w.adroll.f[a])
  }

  e = d.createElement('script');
  o = d.getElementsByTagName('script')[0];
  e.async = 1;
  e.src = roundtripUrl;
  o.parentNode.insertBefore(e, o);
})(window, document);

adroll.track("pageView");
</script>

2. Google Tag Manager

Deploy via GTM:

<!-- GTM Base Tag -->
<script type="text/javascript">
adroll_adv_id = "{{AdRoll Advertiser ID}}";
adroll_pix_id = "{{AdRoll Pixel ID}}";
adroll_version = "2.0";

(function(w, d, e, o, a) {
  w.__adroll_loaded = true;
  w.adroll = w.adroll || [];
  w.adroll.f = [ 'setProperties', 'identify', 'track' ];
  var roundtripUrl = "https://s.adroll.com/j/" + adroll_adv_id + "/roundtrip.js";
  for (a = 0; a < w.adroll.f.length; a++) {
    w.adroll[w.adroll.f[a]] = w.adroll[w.adroll.f[a]] || (function(n) {
      return function() {
        w.adroll.push([ n, arguments ])
      }
    })(w.adroll.f[a])
  }

  e = d.createElement('script');
  o = d.getElementsByTagName('script')[0];
  e.async = 1;
  e.src = roundtripUrl;
  o.parentNode.insertBefore(e, o);
})(window, document);

adroll.track("pageView");
</script>

Attribution

Attribution Windows

Default Windows:

  • Post-click: 30 days
  • Post-view: 1 day

Cross-Channel Attribution

AdRoll provides unified attribution across:

Debugging & Validation

Browser Console

Verify implementation:

// Check if AdRoll loaded
if (typeof adroll !== 'undefined') {
  console.log('AdRoll Pixel loaded');
  console.log('Advertiser ID:', adroll_adv_id);
  console.log('Pixel ID:', adroll_pix_id);
} else {
  console.error('AdRoll Pixel not found');
}

Best Practices

Implementation

  1. Install pixel on all pages
  2. Track product-level data for dynamic ads
  3. Use product feeds for catalog sync
  4. Include order IDs for deduplication
  5. Implement user identification for cross-device

Dynamic Retargeting

  1. Sync product catalog regularly
  2. Track all product interactions
  3. Segment audiences by behavior
  4. Exclude recent purchasers
  5. Test different ad formats

Optimization

  1. Use conversion-based bidding
  2. Create lookalike audiences
  3. Test cross-channel campaigns
  4. Monitor frequency to avoid fatigue
  5. Measure incrementality with holdouts
// SYS.FOOTER