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:
- Automated bidding
- Budget pacing
- Frequency capping
- Creative optimization
- Performance forecasting
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:
- Direct HTML integration
- Google Tag Manager
- Adobe Launch
- Tealium
- E-commerce platform plugins
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:
- XML (recommended)
- CSV
- JSON
- Google Merchant Center integration
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:
- Create Criteo advertiser account
- Obtain account credentials
- Set up user access and permissions
- Define campaign objectives
Technical Planning:
- Identify key pages for tracking
- Map website events to Criteo events
- Plan product feed structure
- Determine implementation method (direct vs. tag manager)
Data Requirements:
- Compile product catalog data
- Identify user identification methods
- Plan data layer structure
- Review privacy compliance requirements
Phase 2: OneTag Deployment (Week 2)
Basic Implementation:
- Install OneTag base code
- Configure account ID and site type
- Implement core events (home, product view, transaction)
- Test in staging environment
Verification:
- Verify tag loads on all pages
- Confirm events fire correctly
- Check data layer population
- Test cross-device functionality
Phase 3: Product Feed Setup (Week 2-3)
Feed Creation:
- Generate product feed from e-commerce platform
- Map product attributes to Criteo requirements
- Configure feed hosting (FTP, URL, or cloud storage)
- Set up automated feed updates
Feed Validation:
- Test feed in Criteo Management Center
- Fix validation errors
- Verify product matching
- Confirm daily updates
Phase 4: Advanced Configuration (Week 3-4)
Enhanced Tracking:
- Implement user email hashing
- Add custom product attributes
- Configure advanced events (wishlist, account creation)
- Set up basket tracking
Integration:
- Connect analytics platforms
- Configure conversion tracking
- Set up custom audience uploads
- Integrate with CRM systems
Phase 5: Testing and Quality Assurance (Week 4)
Comprehensive Testing:
- End-to-end user journey testing
- Cross-browser compatibility verification
- Mobile and tablet testing
- Performance impact assessment
Data Validation:
- Verify tracking accuracy
- Compare with analytics platform
- Test product feed updates
- Confirm conversion attribution
Phase 6: Launch and Monitoring (Week 5+)
Go Live:
- Deploy to production environment
- Enable campaign delivery
- Monitor initial performance
- Address any issues immediately
Ongoing Optimization:
- Review campaign metrics weekly
- Update product feed regularly
- Refine audience segments
- 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:
- Load OneTag asynchronously
- Place script tags at end of
<body> - Use browser caching
- 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
- Install OneTag - Deploy the Criteo OneTag on your website
- Event Tracking - Implement product views, cart, and conversion tracking
- Data Layer Setup - Configure product data layer
Advanced Configuration
- Cross-Domain Tracking - Track users across multiple domains
- Server-Side vs Client-Side - Choose the right implementation approach
Additional Resources
- Integrations - Connect Criteo with other platforms
- Troubleshooting - Resolve common implementation issues
- User Management - Manage team access to Criteo Management Center
Support Resources
- Criteo Help Center: https://help.criteo.com
- OneTag Documentation: https://help.criteo.com/kb/guide/en/all-criteo-onetag-events
- Product Feed Specifications: https://help.criteo.com/kb/guide/en/criteo-product-feed-specifications
- API Documentation: https://developers.criteo.com
For implementation assistance, contact your Criteo account manager or submit a support ticket through the Criteo Management Center.