Criteo Setup & Implementation: OneTag Deployment | OpsBlu Docs

Criteo Setup & Implementation: OneTag Deployment

How to implement Criteo's dynamic retargeting platform. Covers OneTag pixel deployment, product catalog feed setup, event tracking for retargeting, and...

Criteo is a retargeting ad platform that shows dynamic product ads to users who previously visited your site. This guide covers OneTag deployment, product feed configuration, event tracking, and the full implementation timeline from planning through launch.

What is Criteo?

Criteo provides personalized retargeting solutions that display dynamic product ads to users who have previously visited your website. The platform uses machine learning to optimize ad delivery and product recommendations across display, native, and video formats.

Key Features

  • Dynamic Retargeting - Show personalized product ads based on browsing behavior
  • Customer Acquisition - Reach new customers similar to your existing audience
  • Cross-Device Tracking - Follow users across desktop, mobile, and tablet
  • AI-Powered Optimization - Machine learning algorithms optimize bid strategies
  • Global Reach - Access to premium publisher inventory worldwide

Platform Capabilities

Advertising Solutions:

  • Display retargeting
  • Dynamic product ads
  • Customer acquisition campaigns
  • App retargeting
  • Video advertising
  • Native advertising

Targeting Options:

  • Behavioral targeting
  • Product-level targeting
  • Customer list targeting
  • Lookalike audiences
  • Contextual targeting

Optimization Features:

Implementation Overview

Implementing Criteo requires three main components:

1. OneTag Implementation

The Criteo OneTag is a JavaScript tag that:

  • Tracks user behavior across your website
  • Captures product views, cart additions, and purchases
  • Builds retargeting audiences
  • Enables cross-device identification

Implementation Methods:

2. Product Feed Configuration

Product feeds provide Criteo with:

  • Current product catalog
  • Pricing and availability
  • Product images and descriptions
  • Category and attribute data

Feed Formats:

3. Event Tracking Setup

Event tracking captures:

  • Homepage visits
  • Product page views
  • Category browsing
  • Search queries
  • Shopping cart activity
  • Purchase transactions
  • Custom events

Implementation Roadmap

Phase 1: Planning (Week 1)

Account Setup:

  1. Create Criteo advertiser account
  2. Obtain account credentials
  3. Set up user access and permissions
  4. Define campaign objectives

Technical Planning:

  1. Identify key pages for tracking
  2. Map website events to Criteo events
  3. Plan product feed structure
  4. Determine implementation method (direct vs. tag manager)

Data Requirements:

  1. Compile product catalog data
  2. Identify user identification methods
  3. Plan data layer structure
  4. Review privacy compliance requirements

Phase 2: OneTag Deployment (Week 2)

Basic Implementation:

  1. Install OneTag base code
  2. Configure account ID and site type
  3. Implement core events (home, product view, transaction)
  4. Test in staging environment

Verification:

  1. Verify tag loads on all pages
  2. Confirm events fire correctly
  3. Check data layer population
  4. Test cross-device functionality

Phase 3: Product Feed Setup (Week 2-3)

Feed Creation:

  1. Generate product feed from e-commerce platform
  2. Map product attributes to Criteo requirements
  3. Configure feed hosting (FTP, URL, or cloud storage)
  4. Set up automated feed updates

Feed Validation:

  1. Test feed in Criteo Management Center
  2. Fix validation errors
  3. Verify product matching
  4. Confirm daily updates

Phase 4: Advanced Configuration (Week 3-4)

Enhanced Tracking:

  1. Implement user email hashing
  2. Add custom product attributes
  3. Configure advanced events (wishlist, account creation)
  4. Set up basket tracking

Integration:

  1. Connect analytics platforms
  2. Configure conversion tracking
  3. Set up custom audience uploads
  4. Integrate with CRM systems

Phase 5: Testing and Quality Assurance (Week 4)

Comprehensive Testing:

  1. End-to-end user journey testing
  2. Cross-browser compatibility verification
  3. Mobile and tablet testing
  4. Performance impact assessment

Data Validation:

  1. Verify tracking accuracy
  2. Compare with analytics platform
  3. Test product feed updates
  4. Confirm conversion attribution

Phase 6: Launch and Monitoring (Week 5+)

Go Live:

  1. Deploy to production environment
  2. Enable campaign delivery
  3. Monitor initial performance
  4. Address any issues immediately

Ongoing Optimization:

  1. Review campaign metrics weekly
  2. Update product feed regularly
  3. Refine audience segments
  4. Test creative variations

Technical Requirements

Browser Support

Criteo OneTag supports:

  • Chrome 80+
  • Firefox 75+
  • Safari 13+
  • Edge 80+
  • Mobile browsers (iOS Safari, Chrome Mobile)

JavaScript Requirements

  • JavaScript must be enabled
  • Cookies must be supported (first-party and third-party)
  • LocalStorage available (for enhanced tracking)
  • Async script loading supported

Server Requirements

For product feeds:

  • HTTPS hosting required
  • XML/CSV file hosting capability
  • FTP/SFTP access (optional)
  • Response time < 30 seconds

Privacy and Compliance

GDPR Compliance:

  • Obtain user consent before loading OneTag
  • Provide opt-out mechanisms
  • Include Criteo in privacy policy
  • Honor data deletion requests

CCPA Compliance:

  • Respect "Do Not Sell" requests
  • Provide privacy notice
  • Honor opt-out preferences

Cookie Consent:

// Example: Load OneTag after consent
function loadCriteoAfterConsent() {
  if (userHasConsentedToMarketing()) {
    const script = document.createElement('script');
    script.src = '//dynamic.criteo.com/js/ld/ld.js';
    script.async = true;
    document.head.appendChild(script);

    // Initialize OneTag
    window.criteo_q = window.criteo_q || [];
    window.criteo_q.push({
      event: "setAccount",
      account: YOUR_ACCOUNT_ID
    });
  }
}

Implementation Methods

Option 1: Direct HTML Implementation

Add the OneTag script and event calls directly to your HTML templates. No tag management system dependency, which means no TMS overhead on page load and simpler debugging. The tradeoff: every tag change requires a code deploy, and maintenance scales poorly as you add more events.

Option 2: Google Tag Manager

Deploy OneTag through a GTM custom HTML tag or the Criteo community template. Marketing teams can update tag configurations and triggers through the GTM web UI without code deploys. Adds ~50-80KB for the GTM container and requires a properly populated data layer for product IDs, prices, and transaction data.

Option 3: E-commerce Platform Plugin

Use Criteo's pre-built plugins for Shopify, WooCommerce, or Magento. These auto-generate product feeds, fire standard e-commerce events (product view, add-to-cart, purchase), and require minimal configuration. Limited to what the plugin supports -- custom events, non-standard product attributes, and advanced audience logic may not be available.

Option 4: Server-Side Implementation

Send events from your server to Criteo's Events API instead of loading client-side JavaScript. This bypasses ad blockers and Safari ITP restrictions, reduces client-side code, and gives you full control over what data leaves your infrastructure. Requires server-side development, an endpoint to receive browser events, and infrastructure to buffer and forward them to Criteo.

Data Architecture

Data Flow

User Interaction
    ↓
Website Data Layer
    ↓
Criteo OneTag
    ↓
Criteo Platform
    ↓
Campaign Optimization
    ↓
Ad Delivery

Data Layer Structure

Recommended data layer format:

window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
  // Page information
  pageType: 'product', // home, category, product, cart, checkout, confirmation

  // Product data
  productId: 'PROD123',
  productPrice: 99.99,
  productAvailability: 'in stock',
  productCategory: 'Electronics > Headphones',

  // User data
  userId: 'USER456',
  userEmail: 'user@example.com', // Will be hashed

  // Transaction data (confirmation page only)
  transactionId: 'ORD789',
  transactionTotal: 199.98,
  transactionItems: [
    { id: 'PROD123', price: 99.99, quantity: 2 }
  ]
});

Product Feed Schema

Required feed structure:

Field Type Required Description
id String Yes Unique product identifier
title String Yes Product name
description String Yes Product description
link URL Yes Product page URL
image_link URL Yes Main product image
price String Yes Price with currency (e.g., "99.99 USD")
availability String Yes "in stock", "out of stock", "preorder"
brand String Recommended Brand name
category String Recommended Product category path
gtin String Recommended Global Trade Item Number

Performance Considerations

Page Load Impact

Criteo OneTag loads asynchronously and does not block rendering:

Loading guidelines:

  1. Load OneTag asynchronously
  2. Place script tags at end of <body>
  3. Use browser caching
  4. Minimize event payloads

Performance Metrics:

  • Average load time: 50-100ms
  • Script size: ~10KB (compressed)
  • No render-blocking behavior

Optimization Tips

<!-- ✓ Optimal implementation -->
<script type="text/javascript" src="//dynamic.criteo.com/js/ld/ld.js" async="true"></script>
<script type="text/javascript">
  window.criteo_q = window.criteo_q || [];
  // Event code here
</script>

<!-- Consider loading after page interactive -->
<script>
  if ('requestIdleCallback' in window) {
    requestIdleCallback(() => loadCriteoTag());
  } else {
    setTimeout(() => loadCriteoTag(), 1);
  }
</script>

Getting Started Checklist

Before beginning implementation:

  • Criteo account created and verified
  • Account ID obtained from Criteo Management Center
  • Access credentials configured
  • Implementation method selected
  • Product catalog data prepared
  • Privacy policy updated
  • Cookie consent mechanism in place
  • Staging environment available for testing
  • Analytics platform configured for comparison
  • Team members trained on Criteo platform

Next Steps

Continue with the specific implementation guides:

Core Implementation

Advanced Configuration

Additional Resources

Support Resources

For implementation assistance, contact your Criteo account manager or submit a support ticket through the Criteo Management Center.