AdRoll Setup & Implementation | Blue Frog Docs

AdRoll Setup & Implementation

Complete guide to implementing AdRoll pixel tracking, conversion events, product catalogs, and cross-domain tracking for retargeting campaigns.

Setup Overview

AdRoll implementation centers on deploying the AdRoll pixel (JavaScript tracking tag), configuring conversion events for purchases and leads, setting up product catalog feeds for dynamic ads, and enabling cross-domain tracking for multi-site brands. Most setups take 1-2 hours for basic pixel deployment, with advanced configurations (server-side tracking, custom events) requiring additional development time.

Implementation Workflow

  1. Account setup: Create AdRoll account, verify domain ownership
  2. Pixel deployment: Install base pixel across all site pages
  3. Event tracking: Add conversion events (purchase, lead, add-to-cart)
  4. Product catalog: Configure product feed for dynamic retargeting
  5. Cross-domain: Link multiple domains under single advertiser
  6. Testing: Verify pixel firing, events triggering, audiences building
  7. Go-live: Launch campaigns using tracked audiences and conversions

Prerequisites

  • AdRoll account: Sign up at adroll.com (free to create, pay when campaigns run)
  • Website access: Ability to edit site HTML or access to Google Tag Manager
  • Domain verification: DNS access to verify domain ownership
  • E-commerce platform (optional): Shopify, WooCommerce, BigCommerce for automatic setup
  • Developer resources (optional): For custom event tracking and API integrations

Core Components

AdRoll Pixel

Purpose: Tracks pageviews, builds retargeting audiences, measures on-site behavior

Installation methods:

  • Direct HTML: Paste pixel code into site <head> section
  • Google Tag Manager: Add as custom HTML tag
  • E-commerce plugins: Shopify, WooCommerce, BigCommerce apps auto-install
  • Tag management: Segment, Tealium, mParticle integrations

What it tracks:

  • Page views (URL, title, referrer)
  • Product views (product ID, price, category)
  • User actions (add-to-cart, checkout initiation)
  • Conversions (purchases, leads, form submissions)

Conversion Events

Purpose: Measure campaign ROI, optimize for specific actions, attribute revenue

Event types:

  • Purchase: E-commerce transactions with revenue tracking
  • Lead: Form submissions, sign-ups, contact requests
  • Add-to-cart: Product additions for cart abandonment campaigns
  • Custom: Any business-specific action (video views, downloads, etc.)

Implementation: JavaScript event calls on confirmation/thank-you pages

Product Catalog

Purpose: Power dynamic product ads showing products users viewed or related items

Setup options:

  • Automatic: Shopify, WooCommerce sync product data automatically
  • XML feed: Host product feed at yoursite.com/products.xml
  • Manual upload: CSV upload in AdRoll dashboard
  • API: Programmatic product updates via AdRoll API

Required fields:

  • Product ID (SKU)
  • Product name
  • Price
  • Image URL
  • Product URL

Cross-Domain Tracking

Purpose: Unify audiences across multiple domains (e.g., shop.brand.com + blog.brand.com)

Setup:

  • Link domains in AdRoll dashboard
  • Add same pixel code to all domains
  • Configure referrer preservation for domain hops

Account & Domain Setup

Create AdRoll Account

Steps:

  1. Visit https://www.adroll.com and click Get Started
  2. Enter business email, company name, website URL
  3. Choose Advertiser (if running your own ads) or Agency (if managing clients)
  4. Complete billing setup (credit card required, charged when campaigns run)
  5. Set account timezone (affects reporting; cannot be changed later)

Account structure:

  • Organization: Top-level account (your company)
  • Advertisers: Individual brands or business units under org
  • Campaigns: Ad campaigns under each advertiser

Best practices:

  • Use work email, not personal (for team access)
  • Set timezone to match your primary location or HQ
  • Create separate Advertisers for distinct brands (different products, domains)

Verify Domain Ownership

AdRoll requires domain verification before serving ads:

Method 1: DNS TXT record (recommended)

  1. AdRoll → Settings → Domains → Add Domain → Verify
  2. Add TXT record to DNS:
    Name: _adroll-verify.yourdomain.com
    Type: TXT
    Value: adroll-verify-abc123xyz456
    
  3. Wait for DNS propagation (5 minutes - 24 hours)
  4. Click Verify in AdRoll dashboard

Method 2: Meta tag

  1. Add meta tag to website <head>:
    <meta name="adroll-verify" content="abc123xyz456">
    
  2. Click Verify in AdRoll dashboard

Method 3: HTML file upload

  1. Download verification file from AdRoll
  2. Upload to yourdomain.com/adroll-verify-abc123.html
  3. Click Verify in AdRoll dashboard

Common issues:

  • DNS changes can take up to 48 hours to propagate
  • Use root domain (example.com) not subdomain (www.example.com)
  • Ensure verification tag/file is accessible (not blocked by robots.txt)

Configure Pixel Settings

AdRoll Dashboard → Settings → Pixels:

1. Approved domains:

  • Add all domains where pixel will fire: example.com, www.example.com, shop.example.com
  • AdRoll only tracks pages on approved domains (prevents data pollution)

2. Conversion attribution:

  • Click window: Default 30 days (user clicked ad, then converted within 30 days)
  • View window: Default 1 day (user saw ad, then converted within 24 hours)
  • Adjust based on sales cycle (B2B may need 60-90 day windows)

3. Exclude IP addresses (optional):

  • Add office IPs to exclude internal traffic from audiences
  • Format: 192.168.1.1 or 192.168.1.0/24 for ranges

4. Cookie settings:

  • Cookie lifetime: Default 30 days (how long users stay in audiences)
  • First-party cookies: Enable for better Safari/ITP compatibility

Pixel Deployment Options

Direct HTML Installation

Best for: Sites where you control the HTML template

Steps:

  1. AdRoll → Settings → Pixels → Installation Code
  2. Copy the provided JavaScript snippet
  3. Paste into your site's <head> section before closing </head>
  4. Deploy to all pages where you want tracking

Example implementation:

<!DOCTYPE html>
<html>
<head>
  <title>Your Site</title>

  <!-- AdRoll Pixel - Place before other marketing tags -->
  <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);
  </script>

  <!-- Rest of your head content -->
</head>
<body>
  <!-- Page content -->
</body>
</html>

Verification:

  • Visit your site
  • Open browser DevTools → Network tab
  • Refresh page and filter by "adroll"
  • Should see requests to s.adroll.com and d.adroll.com

Google Tag Manager (GTM)

Best for: Sites already using GTM for tag management

Steps:

  1. GTM → Workspace → Tags → New
  2. Name: "AdRoll Pixel"
  3. Tag Configuration → Custom HTML
  4. Paste AdRoll pixel code (same as direct HTML method)
  5. Triggering → All Pages - Page View
  6. Save → Submit → Publish

Advanced GTM setup:

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

  // ... rest of pixel code
</script>

<!-- GTM Variables to create: -->
<!-- Variable Name: AdRoll Advertiser ID -->
<!-- Type: Constant -->
<!-- Value: YOUR_ADVERTISER_ID -->

<!-- Variable Name: AdRoll Pixel ID -->
<!-- Type: Constant -->
<!-- Value: YOUR_PIXEL_ID -->

Benefits:

  • Deploy without touching site code
  • Easy to enable/disable for testing
  • Version control for pixel changes
  • Integrate with GTM data layer for advanced tracking

Testing:

  • Use GTM Preview Mode before publishing
  • Verify tag fires on all pages
  • Check for JavaScript errors in browser console

E-Commerce Platform Plugins

See detailed installation guides:

Advantages:

  • Zero-code installation
  • Automatic product catalog sync
  • Pre-built conversion tracking
  • One-click updates

Testing & Verification

Verify Pixel Installation

Method 1: Browser DevTools

  1. Visit your site
  2. Open DevTools (F12 or right-click → Inspect)
  3. Console tab → Type: adroll
  4. Should output: {f: Array(3), ...} (pixel loaded)
  5. Network tab → Filter: "adroll"
  6. Refresh page → Should see requests to AdRoll domains

Method 2: AdRoll Dashboard

  1. AdRoll → Settings → Pixels → Pixel Health
  2. Should show "Active" with green checkmark
  3. Recent activity should appear within 24 hours
  4. Click View Recent Events to see pageviews

Method 3: Browser Extensions

  • Install "AdRoll Pixel Helper" Chrome extension (if available)
  • Or use generic "Tag Inspector" to detect marketing pixels
  • Visit your site → Extension icon should light up showing AdRoll detected

Test Conversion Events

Manual testing:

// Open browser console on ANY page
// Manually trigger test conversion:
adroll.track("purchase", {
  order_id: "TEST-" + Date.now(), // Unique ID
  currency: "USD",
  conversion_value: 10.00,
  products: [{
    product_id: "TEST-SKU",
    quantity: 1,
    price: 10.00
  }]
});

// Check Network tab for POST request to d.adroll.com
// Check AdRoll dashboard after 24 hours for test conversion

End-to-end testing:

  1. Complete real purchase flow on your site (use test payment or small amount)
  2. Verify conversion event fires on thank-you page (browser console)
  3. Check AdRoll → Reports → Conversions after 24-48 hours
  4. Test conversion should appear with correct revenue and product data

Validate Product Tracking

On product page:

// Browser console
// Check if product data is being sent:
console.log(adroll);

// Manually send product pageview:
adroll.track("pageView", {
  product_id: "SKU-001",
  product_name: "Test Product",
  price: 49.99,
  category: "Test Category"
});

// Check Network tab for pageview request with product params

Verify catalog sync:

  1. AdRoll → Products → Catalog
  2. Should see products syncing (may take 6-24 hours initially)
  3. Check for sync errors (invalid product data, missing fields)
  4. Manually trigger sync: Catalog → Sync Now

Available Guides


Post-Setup Checklist

Once pixel is installed:

  • Verify pixel fires on all key pages (home, product, cart, checkout)
  • Test conversion events on thank-you/confirmation pages
  • Confirm product catalog syncing (for dynamic ads)
  • Create initial audiences (all visitors, product viewers, cart abandoners)
  • Set up conversion goals in AdRoll dashboard
  • Configure attribution windows based on sales cycle
  • Add team members to AdRoll account (see User Management)
  • Build first retargeting campaign targeting website visitors
  • Set up conversion tracking in other platforms (Google Analytics) for comparison
  • Document pixel IDs and account credentials in team password manager

Common Post-Setup Issues

Pixel fires but no data appears:

  • Wait 24-48 hours for data processing
  • Check approved domains list includes your site
  • Verify you're not blocking your own IP address

Audiences not growing:

  • Extend lookback window from 7 to 30 days
  • Check pixel fires on target pages
  • Allow 24-48 hours for initial population

Conversions not tracking:

  • Verify conversion event syntax (see Event Tracking)
  • Check event fires on confirmation page (not checkout page)
  • Ensure conversion_value is a number, not string

Product ads not showing products:

  • Verify catalog sync completed successfully
  • Check product IDs match between catalog and pixel events
  • Allow 48 hours after catalog sync for ads to populate

Next Steps

// SYS.FOOTER