How to connect Criteo Ads to BigQuery with OWOX Data Marts

Criteo’s dynamic retargeting campaigns can drive serious performance, but extracting that data into BigQuery for reporting? That’s usually painful.
From complex APIs to expensive ETL tools, the journey from ad performance to business insight is often slow, opaque, or costly.
That ends here.
With the free, no-code Criteo Ads to BigQuery connector by OWOX, you can automate the import of your Criteo performance data directly into BigQuery, gain full transparency, and customize it to suit your reporting needs, no middleware, no black boxes, no fees.
Why we made this free connector
Why we made this free connector
Most Criteo Ads to BigQuery solutions are either paywalled, opaque, or overly complex. You often end up with limited access, hidden quotas, or black-box tools that restrict how your data is extracted and loaded.
We built the OWOX connector to address this issue.
This free Criteo Ads to BigQuery connector, part of the OWOX Data Marts, gives you full visibility and control over your ad data pipeline.
Here’s why it matters:
- You get direct access to Criteo Ads API fields, not a filtered subset.
- You define how the data flows into BigQuery, fields, structure, scheduling, and cleanup.
- You own the entire process, from configuration to import, without relying on closed platforms or external ETL tools.
We believe marketers and analysts should be able to build data workflows they understand and trust. This OWOX connector is a step toward that kind of data ownership.
Join the Open-source movement
This isn’t just a free Criteo Ads to BigQuery connector; it’s part of a broader mission to data and marketing analytics and put control back in the hands of analysts.
At OWOX, we believe that transparency, flexibility, and access to data shouldn’t come at a premium. That’s why this OWOX connector, built as part of the OWOX Data Marts, is 100% open-source.
You can inspect the code, extend it, and make it work exactly the way your team needs.
If you like what we do, please ⭐ star our GitHub repo to show your support – it helps us reach more analysts and grow the number of available connectors.
Also, feel free to:
- Dive into the code and customize it for your business case.
- Suggest improvements or request additional connectors to expand functionality.
- Contribute documentation, scripts, or feedback to support other marketers and analysts.
Why bring Criteo Ads data into BigQuery?
Why bring Criteo Ads data into BigQuery?
Criteo is a performance marketing powerhouse, but getting its raw ad data into BigQuery? That’s often where the roadblocks begin.
❌ Engineering-heavy pipelines that delay insights
❌ Minimal access to clean campaign-level data for modeling and reporting
❌ Paid ETL tools that gate Criteo metrics behind subscriptions
That’s exactly why we built this free OWOX connector for Criteo Ads to BigQuery, using the OWOX Data Marts.
✅ With BigQuery, you can centralize and structure Criteo ad performance data at scale
✅ You can join it with cost data and CRM to build cross-channel attribution models✅ You can run SQL-based analysis and automate daily updates with zero manual effort
This connector gives you direct, code-free access to Criteo Ads data, inside your BigQuery project, with complete control and zero vendor lock-in.
OWOX Data Marts
See your first report built in real time. 15 minutes.
- Connect your data warehouse
- Pick your metrics
- Get a live Google Sheets report
In the time it takes to write a ticket. Then imagine never writing that ticket again.
Book a DemoWe'll use your actual use case
Why OWOX’s Criteo Ads → BigQuery connector stands out
Why OWOX’s Criteo Ads → BigQuery connector stands out
Most solutions that claim to connect Criteo to BigQuery are either buried behind paywalls or tightly coupled to rigid architectures.
The OWOX connector takes a different approach, one that prioritizes analysts.
Here’s how it’s different:
- 100% free and open-source: no usage fees, hidden limits, or tiered pricing. The Criteo Ads connector is available on GitHub as part of OWOX Data Marts.
- Transparent by design: Inspect and customize the full connector code and SQL logic directly in your environment with OWOX Data Marts.
- Ready for analysts: No third-party setup required – just run the connector in your environment and stream data directly into BigQuery.
- Own your schema: Define how Criteo Ads data lands in BigQuery, assign clear field aliases, and structure it to match your reporting needs.
- Fully community-driven: Built on the OWOX Data Marts, with updates shaped by real users
With OWOX, you don’t just use the connector; you own it. And that makes all the difference.
**Already streamlining Criteo Ads? You’ll love what else you can automate:
**Criteo Ads → Google SheetsMicrosoft Ads → BigQuery
Open Exchange Rates→ BigQueryLinkedIn Ads→ BigQueryBuild unified performance reports across platforms with full visibility and transparency, as they should be.
How the connector works
This connector is part of OWOX Data Marts and is designed to run directly in your environment via Node.js CLI, with no third-party tools or engineering dependencies.
Here’s what it does behind the scenes:
- Built on an open-source framework you control, the Criteo Ads connector eliminates the need for extra platforms, paid ETL tools, or manual CSV uploads.
- Configure parameters in JSON or CLI (accounts, time ranges, field selections) with full flexibility.
- Sends structured data directly to your specified BigQuery dataset and location.
- Includes SQL patterns for automatic cleanup of outdated records, keeping tables lean and query-ready.
You get exactly the data you want, in your BigQuery project, ready for blended reporting, attribution modeling, or funnel analysis.
Criteo Ads Connector to Google BigQuery
💡 Check out this video for a step-by-step guide to sending Criteo Ads data to BigQuery using OWOX. It walks you through credentials setup, connector configuration, and scheduling automated imports.
Step-by-step: Import Criteo Ads data to BigQuery with the OWOX Data Marts
Step-by-step: Import Criteo Ads data to BigQuery with the OWOX Data Marts
Set up a fully self-managed, SaaS-free pipeline to import Criteo Ads data directly into BigQuery using the OWOX Data Marts and a local server.
Step 1: Install Node.js and OWOX CLI (~2 min)
To run OWOX Data Mart locally, you’ll need to install Node.js and the OWOX CLI. This setup allows you to start a local server and work with OWOX Data Marts effectively.
To get started, install the LTS version of Node.js from nodejs.org and use a version manager like nvm or nvm-windows to avoid permission issues. Once Node.js is set up, you can install the OWOX CLI globally and run ‘owox serve’ to launch the local server.
💡 For detailed setup instructions and troubleshooting, check the official documentation.
Step 2: Connect Google BigQuery and set up your data mart (~3 min)
Set up BigQuery as your destination and link it to a new Criteo Ads data mart in OWOX.
- Open your browser and go to http://localhost:3000.

💡 Follow our guide, where you’ll find easy-to-follow instructions on how to configure your storage in OWOX Data Marts.
- Create your Service Account JSON Key
- Follow our guide to create your service account JSON Key.

- Paste it into the ‘OWOX Service Account JSON Field’
- Don’t forget to click Save

- Create your first Data Mart: Once storage is added, click on the Data Mart Tab, then on ‘New Data Mart

-
Now, create the Data Mart, name the title as ‘Criteo Data’, as the data source
-
Choose the storage named ‘Criteo Ads Storage’ you just created
-
Click ‘Create Data Mart’.

Now we will do the Data Setup
- Set up your Data Mart
- Go to Data Setup Tab and then select Connector

- Click on Setup Connector and Choose Criteo Ads Connector

Step 3: Get your Criteo credentials (~1 min)
To authorize the connector and fetch data from Criteo Ads, you’ll need an Advertiser ID, a Client ID and a Client Secret from your Criteo developer account. Let’s make sure you’ve got them in place.
Prerequisites
- A Criteo Ads account with access to the Criteo Partners portal
- A Criteo Developer App created in the portal with authentication set to Client Credentials
- A valid Client ID and Client Secret generated when creating the app
- A Consent URL authorized through your Criteo account to finalize access
Steps to obtain credentials
- Log In to Criteo Partners

- Sign in with your Criteo Ads credentials.
- Create a New App
- Click the ➕ icon in the My Apps section or
- Hit “Create a new app” to start the setup.

- Set the Application Name
- Enter a recognizable name like: OWOX (open source connector)
- Optionally add a short description to help identify it later.
Tip: Use a clear name to simplify troubleshooting or team collaboration.

- Click Next.
- Choose the Authentication Method
- Select Client Credentials as the method of authentication for the app.

- Assign the Right Service
- Under Service, choose: C-Growth and marketing solutions.

- Set Required Permissions: Check the following permissions to enable full access to reporting data:
-
Analytics – Read
-
**Campaigns – Read
Note:** You won’t be able to edit these settings once the app is activated.
-
Click Activate app to proceed with the setup.
-

- Generate Your API Keys
- Click Create new key.

- Download a .txt file containing your client_id and client_secret.
- Store these credentials securely; you’ll need them during setup.
- Grant Consent
- Click Generate new URL → Copy the Consent URL

- Paste it into your browser.
- Follow the prompts to grant access to the app.
Once access is granted, you now have everything you need to proceed.
- Client ID
- Client Secret
- App authorization
Security notes
-
Keep your Client ID and Client Secret confidential; never share them outside your team
-
Store credentials in a secure location (e.g., password manager or secret manager)
-
Rotate credentials periodically to reduce risk
-
Use the generated Consent URL only in trusted environments to grant access
-
Avoid hardcoding sensitive keys directly into scripts; rely on secure configuration files or environment variables
Step 4: Configure Criteo Ads connector and run your first import (~2 min)
Now that you have your Criteo Ads credentials, it’s time to configure the connector in OWOX.
-
Add the Advertiser ID, Client ID and Client Secret.
- Paste the Advertiser ID, Client ID and Client Secret
-
Start Date:
- Set the reporting start date (e.g., 2025-07-01). This determines how far back data will be fetched.
-
As you scroll further, you’ll find extra parameter fields. They’re optional for the first run and can be updated later if required.
-
Click **‘Next’.
**
-
Select an Endpoint:
- Choose the endpoint that fits your reporting needs.
-
Select Fields for the chosen node.
- Select all available fields or choose specific metrics based on your reporting needs.
-
Name the Dataset:
- Enter the BigQuery dataset name where the imported data should be stored.
Note: If the dataset doesn’t exist, OWOX will create it automatically during the import process.
- Click Finish
- In the Data Setup Tab. Click ‘Save’.
10. Click ‘Publish Data Mart’.
11. Click ‘Manual Run’ or use the 3-dot menu → ‘Run Now’.
12. A configuration panel will appear to choose a Run Type. Select Backfill or Incremental Load. Then add the required start and end dates, then click Run to load the data.
Please Note: If you are setting up this connector for the first time, you need to go with the Backfill Run Type.
13. Go to ‘Run History’ and see the message: ‘Success’.
Step 5: Schedule automated imports (~1 min)
Set up a trigger to pull data on a recurring schedule.
- Go to the ‘Triggers’ tab in the new Data Mart
- Click ‘Add Trigger’.
- Configure:
- Trigger Type: Connector Run
- Schedule Settings: Daily / Weekly / Monthly / Interval
- Time Settings: hour, minute, second
- Days of the week
- Time zone
- Click ‘Create Trigger’.
- The trigger is now active and scheduled to run automatically on the defined days and at the defined time.
What’s next?
This Criteo Ads to BigQuery connector belongs to a growing collection of free, open-source tools designed to give marketers and analysts full control over their data.
Here are more resources to explore:
🔗 Free connectors: Twitter and TikTok Ads Connectors for BigQuery and many more
📽️ Video tutorials: Watch setup walkthroughs step-by-step
📊 Dashboard Visualization: Send your BigQuery data directly into Google Sheets and Looker Studio, so teams can analyze and share insights instantly.
Visit the GitHub repo, leave a ⭐, and share your feedback – let’s build better marketing analytics, together.
Turn your data into decisions.
Governed data marts give you the clean foundation ML needs to actually work.
- No AI hallucinations
- Analyst-governed definitions
- Every number traces to SQL
Frequently Asked Questions
Is the Criteo Ads to BigQuery connector free?
The connector is open source and free to run yourself with the open-source edition of OWOX Data Marts. You pay Google for BigQuery storage and queries. The same connector is available on OWOX Cloud, where there is no server to maintain.
Will it create a BigQuery dataset if one does not exist?
Yes. The dataset and the table are created on the first run if they do not exist yet.
How often does the Criteo Ads data refresh?
As often as the trigger you add on the Triggers tab: daily at a time you choose, on weekdays, hourly or every few hours. You can also start a run by hand at any time with Manual Run.
Which Criteo Ads data can I load into BigQuery?
Each Data Mart loads one kind of data: statistics (clicks, displays, cost, sales and ROAS by campaign, ad set, ad and day), placements, placement categories, or transactions attributed to Criteo ads. You keep the default fields or choose your own.
What credentials are required to connect to Criteo Ads?
The Advertiser IDs plus a Client ID and a Client Secret from an app in the Criteo partner portal, with authentication set to Client Credentials. The app also needs consent for every advertiser you plan to load.
Do I need coding skills to connect Criteo Ads to BigQuery?
No. You create the Criteo app and the Data Mart in the browser and paste the Client ID and Client Secret. There is nothing to install.



