Criteo
Criteo is a commerce media platform for running retargeting, prospecting and retail media campaigns across the open web. With Weld you can sync your Criteo advertisers, campaigns, ad sets, ads and creatives into your data warehouse, together with daily performance statistics at campaign, ad set and ad level. Combine it with your ecommerce, analytics and other ad platform data to report on spend, revenue and return on ad spend across all your channels.
Features
| Feature name | Supported | |
|---|---|---|
| Column Hashing | True | Column level |
| Blocking | True | Column level |
| Incremental | True | |
| Custom data | False | |
| History | True | |
| ReSync | True | Table level |
| Templates | False |
Data Schema
Setup Guide - ELT
Prerequisites
- Access to the Criteo Partners Portal to create an API app.
- An Admin user on the Criteo advertiser account(s) you want to sync, to approve the app's access request. This can be you, or someone at the advertiser.
Weld only reads from Criteo — it never changes your campaigns.
Step 1 - Create a Criteo API app
- Sign in to the Criteo Partners Portal and open My Apps.
- Click Create a New App and give it a clearly identifiable name, such as
Weld, and an optional description. - Choose Client Credentials as the authentication method.
- Under Services, select C-Growth and Marketing Solutions.
- Under Domains, grant Read access to the analytics, campaign and creative domains. Weld does not need Manage access to anything.
- Click Activate App.
Once the app is activated, its name, description and permissions can no longer be changed. Criteo apps cannot be deleted either, so double-check the permissions before activating.
Step 2 - Grant the app access to your advertisers
The app can only read data from advertiser accounts that have approved it.
- On the app's page in the Partners Portal, click Generate new URL to create a consent URL, then copy it.
- Open the URL yourself, or send it to an Admin of the advertiser account. Each consent URL can only be used once — generate a new one for every person you send it to.
- The Admin signs in to Criteo, selects the advertiser account(s) Weld should have access to on the Access request page, and clicks Approve.
Weld syncs data from every advertiser account that has approved the app. To add another advertiser later, repeat this step — no changes are needed in Weld.
Step 3 - Create your Client ID and Client Secret
- On the app's page in the Partners Portal, click Create new key.
- A text file containing your Client ID and Client Secret downloads automatically. The secret is only available in this file — if you lose it, create a new key.
Step 4 - Create the connection
- In the Weld app, navigate to Connections and click + New Connection.
- Search for Criteo and select it.
- Enter the destination schema name of your choice. This name is used to identify the connection in future syncs.
- Enter your Client ID and Client Secret from the downloaded file.
- Click Connect to validate the credentials and establish the connection.
Step 5 - Data To Sync
Select the tables you wish to include in the sync. You can view the schema, remove columns or hash sensitive information.
Account structure
advertiser— the advertiser accounts the app has been granted access tocampaign— campaigns, including their goal, budget automation and spend limit settingsadset— ad sets, including their schedule, bidding, budget, attribution and targeting settingsadset_scheduled_budgetcomes along withadsetand holds each ad set's scheduled budgets, linked onadset_id
ad— ads, linking a creative to an ad set
Creatives
creative— the creatives for each advertiser, with their format and status- Selecting
creativealso syncs the following tables, linked oncreative_idandadvertiser_id:creative_image_set— image sets on adaptive creativescreative_layout— layouts enabled on adaptive creativescreative_adaptive_logo— logos on adaptive creativescreative_dynamic_logo— logos on dynamic creativescreative_video— videos on adaptive creativescreative_html_tag_attributes_tag— HTML tags on HTML tag creatives
- Selecting
Performance statistics
campaign_statistics_daily_report— one row per campaign per dayadset_statistics_daily_report— one row per ad set and campaign per dayad_statistics_daily_report— one row per ad, ad set and campaign per day
Each statistics table contains:
dateand the reportcurrency- the ids and names of the campaign, ad set and ad it breaks down by, such as
campaign_idandcampaign - the full set of Criteo metrics, including displays, clicks, cost, visits, sales and revenue across Criteo's attribution windows, conversion rates, cost per order, ROAS, app installs, viewability and video metrics
To add campaign, ad set or ad details to the statistics, join campaign_id, adset_id and ad_id to the id column of campaign, adset and ad.
Criteo reports spend it cannot attribute to a specific ad under an ad_id of
-1. You will see one of these rows per ad set in
ad_statistics_daily_report, so always group or filter by adset_id as well
as ad_id. Totals across ads still match the campaign and ad set reports.
Step 6 - Configure sync
- Select how often you would like the data to sync.
- Choose the Currency that all monetary metrics in the statistics tables are reported in. This setting is required.
- Optionally, choose a Timezone that determines how statistics are grouped into days. If you leave it empty, days follow UTC. To match what you see in the Criteo UI, pick the same timezone as your advertiser account.
- Choose a start date for the statistics tables. Criteo only provides statistics for the last 2 years, so if you leave it empty or pick an earlier date, Weld syncs the last 2 years of data.
- Provide a unique destination table name.
If you change the Currency or Timezone after the first sync, run a ReSync of the statistics tables so that all historical rows use the new setting.
Weld will take over from here and commence syncing data from your Criteo account.