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:
- Display advertising
- Social media (Facebook, Instagram)
- Email campaigns
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
- Install pixel on all pages
- Track product-level data for dynamic ads
- Use product feeds for catalog sync
- Include order IDs for deduplication
- Implement user identification for cross-device
Dynamic Retargeting
- Sync product catalog regularly
- Track all product interactions
- Segment audiences by behavior
- Exclude recent purchasers
- Test different ad formats
Optimization
- Use conversion-based bidding
- Create lookalike audiences
- Test cross-channel campaigns
- Monitor frequency to avoid fatigue
- Measure incrementality with holdouts