> For the complete documentation index, see [llms.txt](https://help.daasity.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.daasity.com/core-concepts/data-integrations/setup-guides/digital-integrations/criteo/integration-specifications.md).

# Integration Specifications

## Integration Overview

Criteo is an ad-network for Display Ads that allows you to run campaigns and show display ads across a number of different websites and devices.&#x20;

The Daasity Criteo integration enables merchants to extract key metrics from display campaigns on a daily basis to easily track and compare performance across various ad platforms. Data is transformed as part of Daasity's [Unified Marketing Schema (UMS) ](https://support.daasity.com/hc/en-us/articles/360051814813)that enables multi-platform reporting in one schema.

## Integration Availability

This integration is available for:

* Enterprise
* Growth

## API Endpoints

The Daasity Criteo extractor is built based on this [Criteo API documentation](https://developers.criteo.com/marketing-solutions/v2021.04/docs).  The following endpoints are used by Daasity to replicate data from Criteo:

* [Ad Sets](https://developers.criteo.com/marketing-solutions/v2021.04/docs/anatomy-of-an-ad-set)
* [Advertisers](https://developers.criteo.com/marketing-solutions/v2021.04/reference/apiportfolioget)
* [Audiences](https://developers.criteo.com/marketing-solutions/v2021.04/reference/getaudiences)
* [Statistics](https://developers.criteo.com/marketing-solutions/v2021.04/docs/requesting-a-report)

## Entity Relationship Diagram (ERD)

[Click here to view the ERD for the Daasity Criteo integration](https://lucid.app/documents/embedded/18fd3938-d9c0-405d-bf84-c520e94d4745) illustrating the different tables and keys to join across tables. &#x20;

## Criteo Schema

The Daasity Criteo extractor creates these tables using the endpoints and replication methods listed.  The data is mapped from the source API endpoint to the table based on the mapping logic outlined in each table.

* [Ad Sets](#a-d-sets)
* [Ad Set Geo-Targeting Countries](#a-d-set-geo-targeting-countries)
* [Ad Set Geo-Targeting Subdivisions](#a-d-set-geo-targeting-subdivisions)
* [Ad Set Geo-Targeting Zipcodes](#a-d-set-geo-targeting-zipcodes)
* [Ad Set Performance Reports](#a-d-set-performance-reports)
* [Categories](#categories)
* [Advertisers](#a-dvertisers)
* [Audiences](#audiences)
* [Transactions](#transactions)

### **Ad Sets**

* Endpoint: [Ad Sets](https://developers.criteo.com/marketing-solutions/v2021.04/reference/getadset)
* Update Method: TRUNCSERT
* Table Name: \[`criteo.adsets`]

| JSON Element                                                          | Database Column              |
| --------------------------------------------------------------------- | ---------------------------- |
| id                                                                    | adset\_id                    |
| attributes::advertiserId                                              | advertiser\_id               |
| attributes::campaignID                                                | campaign\_id                 |
| attributes::name                                                      | adset\_name                  |
| attributes::schedule::startDate::value                                | schedule\_start\_date        |
| attributes::schedule::endDate::value                                  | schedule\_end\_date          |
| attributes::schedule::activationStatus                                | schedule\_activation\_status |
| attributes::schedule::deliveryStatus                                  | schedule\_delivery\_status   |
| attributes::bidding::bidAmount::value                                 | bid\_amount                  |
| attributes::bidding::bidStrategy                                      | bid\_strategy                |
| attributes::bidding::costController                                   | bid\_cost\_controller        |
| attributes::targeting::deliveryLimitations::environments::inApp       | delivery\_inapp              |
| attributes::targeting::deliveryLimitations::environments::web         | delivery\_web                |
| attributes::targeting::deliveryLimitations::devices::desktop          | delivery\_desktop            |
| attributes::targeting::deliveryLimitations::devices::tablet           | delivery\_tablet             |
| attributes::targeting::deliveryLimitations::devices::mobile           | delivery\_mobile             |
| attributes::targeting::deliveryLimitations::devices::other            | delivery\_other\_devices     |
| attributes::targeting::deliveryLimitations::operatingSystems::android | delivery\_android            |
| attributes::targeting::deliveryLimitations::operatingSystems::ios     | delivery\_ios                |
| attributes::targeting::deliveryLimitations::operatingSystems::other   | delivery\_other\_os          |
| attributes::targeting::frequencyCapping::maximumImpressions           | maximum\_impressions         |
| attributes::targeting::frequencyCapping::frequency                    | frequency                    |
| attributes::budget::budgetStrategy                                    | budget\_strategy             |
| attributes::budget::budgetRenewal                                     | budget\_renewal              |
| attributes::budget::budgetDeliverySmoothing                           | budget\_delivery\_smoothing  |
| attributes::budget::budgetDeliveryWeek                                | budget\_delivery\_week       |
| attributes::budget::budgetAmount::value                               | budget\_amount               |
| MD5(adset\_id + ':' + \_\_source\_id)                                 | \_\_sync\_key                |

### **Ad Set Geo-Targeting Countries**

* Endpoint: [Ad Sets](https://developers.criteo.com/marketing-solutions/v2021.04/docs/search-for-ad-sets)
* Update Method: TRUNCSERT
* Table Name: \[`criteo.adset_geotargeting`\_countries]

| JSON Element                                                   | Database Column |
| -------------------------------------------------------------- | --------------- |
| id                                                             | adset\_id       |
| operand                                                        | operand         |
| country                                                        | country         |
| MD5(id + ':' + operand + ':' + country + ':' + \_\_source\_id) | \_\_sync\_key   |

### **Ad Set Geo-Targeting Subdivisions**

* Endpoint: [Ad Sets](https://developers.criteo.com/marketing-solutions/v2021.04/docs/search-for-ad-sets)
* Update Method: TRUNCSERT
* Table Name: \[`criteo.adset_geotargeting_subdivisions`]

| JSON Element                                                       | Database Column |
| ------------------------------------------------------------------ | --------------- |
| id                                                                 | adset\_id       |
| operand                                                            | operand         |
| subdivision                                                        | subdivision     |
| MD5(id + ':' + operand + ':' + subdivision + ':' + \_\_source\_id) | sync\_key       |

### **Ad Set Geo-Targeting Zipcodes**

* Endpoint: [Ad Sets](https://developers.criteo.com/marketing-solutions/v2021.04/docs/search-for-ad-sets)
* Update Method: TRUNCSERT
* Table Name: \[`criteo.adset_geotargeting_zipcodes`]

| JSON Element                                                   | Database Column |
| -------------------------------------------------------------- | --------------- |
| id                                                             | adset\_id       |
| operand                                                        | operand         |
| zipcode                                                        | zipcode         |
| MD5(id + ':' + operand + ':' + zipcode + ':' + \_\_source\_id) | \_\_sync\_key   |

### **Ad Set Performance Reports**

* Endpoint: [Statistics](https://developers.criteo.com/marketing-solutions/v2021.04/docs/requesting-a-report)
* Update Method: TRUNCSERT
* Table Name: \[`criteo.adset_performance_reports`]

| JSON Element                                    | Database Column                         |
| ----------------------------------------------- | --------------------------------------- |
| adsetId                                         | adset\_id                               |
| Adset                                           | adset\_name                             |
| AdvertiserId                                    | advertiser\_id                          |
| Advertiser                                      | advertiser\_name                        |
| AverageCartClientAttribution                    | aov\_client                             |
| AverageCartAllClientAttribution                 | aov\_client\_xdevice                    |
| AverageCartPc30d                                | aov\_click30d                           |
| AverageCartAllPc30d                             | aov\_click30d\_xdevice                  |
| AverageCartPv24h                                | aov\_view1d                             |
| AverageCartAllPv24h                             | aov\_view1d\_xdevice                    |
| AverageCartPc30dPv24h                           | aov\_click30d\_view1d                   |
| AverageCartAllPc30dPv24h                        | aov\_click30d\_view1d\_xdevice          |
| AverageCartPc1d                                 | aov\_click1d                            |
| AverageCartAllPc1d                              | aov\_click1d\_xdevice                   |
| AverageCartPc7d                                 | aov\_click7d                            |
| AverageCartAllPc7d                              | aov\_click7d\_xdevice                   |
| AppInstalls                                     | app\_installs                           |
| Audience                                        | audience                                |
| BounceRate                                      | bounce\_rate                            |
| Clicks                                          | clicks                                  |
| ConversionRateClientAttribution                 | cvr\_client                             |
| ConversionRateAllClientAttribution              | cvr\_client\_xdevice                    |
| ConversionRatePc30d                             | cvr\_click30d                           |
| ConversionRateAllPc30d                          | cvr\_click30d\_xdevice                  |
| ConversionRatePv24h                             | cvr\_view1d                             |
| ConversionRateAllPv24h                          | cvr\_view1d\_xdevice                    |
| ConversionRatePc30dPv24h                        | cvr\_click30d\_view1d                   |
| ConversionRateAllPc30dPv24h                     | cvr\_click30d\_view1d\_xdevice          |
| ConversionRatePc1d                              | cvr\_click1d                            |
| ConversionRateAllPc1d                           | cvr\_click1d\_xdevice                   |
| ConversionRatePc7d                              | cvr\_click7d                            |
| ConversionRateAllPc7d                           | cvr\_click7d\_xdevice                   |
| PostInstallConversionRate                       | cvr\_postinstall                        |
| AdvertiserCost                                  | cost                                    |
| CostPerInstall                                  | cost\_per\_app\_install                 |
| CostOfAdvertiserValue                           | cost\_per\_product\_revenue             |
| CostOfAdvertiserValueAll                        | cost\_per\_product\_revenue\_xdevice    |
| CostPerVisit                                    | cost\_per\_visit                        |
| Cpc                                             | cpc                                     |
| ECpm                                            | cpm                                     |
| CostPerOrderClientAttribution                   | cpo\_client                             |
| CostPerOrderAllClientAttribution                | cpo\_client\_xdevice                    |
| CostPerOrderPc30d                               | cpo\_click30d                           |
| CostPerOrderAllPc30d                            | cpo\_click30d\_xdevice                  |
| CostPerOrderPv24h                               | cpo\_view1d                             |
| CostPerOrderAllPv24h                            | cpo\_view1d\_xdevice                    |
| CostPerOrderPc30dPv24h                          | cpo\_click30d\_view1d\_xdevice          |
| CostPerOrderPc1d                                | cpo\_click1d                            |
| CostPerOrderAllPc1d                             | cpo\_click1d\_xdevice                   |
| CostPerOrderPc7d                                | cpo\_click7d                            |
| CostPerOrderAllPc7d                             | cpo\_click7d\_xdevice                   |
| PostInstallCostPerOrder                         | cpo\_postinstall                        |
| ClickThroughRate                                | ctr                                     |
| currency                                        | currency                                |
| Day                                             | day                                     |
| ExposedUsers                                    | exposed\_users                          |
| Displays                                        | impressions                             |
| ViewableDisplays                                | impressions\_viewed                     |
| NonViewableDisplays                             | impressions\_nonviewed                  |
| UntrackableDisplays                             | impressions\_untracked                  |
| PotentialDisplays                               | impressions\_potential                  |
| InstallRate                                     | install\_rate                           |
| OverallCompetitionWin                           | overall\_competition\_win               |
| AdvertiserValue                                 | product\_revenue                        |
| AdvertiserAllValue                              | product\_revenue\_xdevice               |
| Reach                                           | reach                                   |
| RevenueGeneratedClientAttribution               | revenue\_client                         |
| RevenueGeneratedAllClientAttribution            | revenue\_client\_xdevice                |
| OmnichannelRevenueClientAttribution             | revenue\_client\_omnichannel            |
| RevenueGeneratedPc30d                           | revenue\_click30d                       |
| RevenueGeneratedAllPc30d                        | revenue\_click30d\_xdevice              |
| RevenueGeneratedOfflinePc30d                    | revenue\_click30d\_offline              |
| OmnichannelRevenuePc30d                         | revenue\_click30d\_omnichannel          |
| OmnichannelRevenueAllPc30d                      | revenue\_click30d\_omnichannel\_xdevice |
| RevenueGeneratedPv24h                           | revenue\_view1d                         |
| RevenueGeneratedAllPv24h                        | revenue\_view1d\_xdevice                |
| RevenueGeneratedOfflinePv24h                    | revenue\_view1d\_offline                |
| OmnichannelRevenuePv24h                         | revenue\_view1d\_omnichannel            |
| OmnichannelRevenueAllPv24h                      | revenue\_view1d\_omnichannel\_xdevice   |
| RevenueGeneratedPc30dPv24h                      | revenue\_click30d\_view1d               |
| RevenueGeneratedAllPc30dPv24h                   | revenue\_click30d\_view1d\_xdevice      |
| RevenueGeneratedPc1d                            | revenue\_click1d                        |
| RevenueGeneratedAllPc1d                         | revenue\_click1d\_xdevice               |
| RevenueGeneratedPc7d                            | revenue\_click7d                        |
| RevenueGeneratedAllPc7d                         | revenue\_click7d\_xdevice               |
| PostInstallOrderValue                           | revenue\_postinstall                    |
| RoasClientAttribution                           | roas\_client                            |
| RoasAllClientAttribution                        | roas\_client\_xdevice                   |
| OmnichannelRoasClientAttribution                | roas\_client\_omnichannel               |
| RoasPc30d                                       | roas\_click30d                          |
| RoasAllPc30d                                    | roas\_click30d\_xdevice                 |
| RoasOfflinePc30d                                | roas\_click30d\_offline                 |
| OmnichannelRoasPc30d                            | roas\_click30d\_omnichannel             |
| OmnichannelRoasAllPc30d                         | roas\_click30d\_omnichannel\_xdevice    |
| RoasPv24h                                       | roas\_view1d                            |
| RoasAllPv24h                                    | roas\_view1d\_xdevice                   |
| RoasOfflinePv24h                                | roas\_view1d\_offline                   |
| OmnichannelRoasPv24h                            | roas\_view1d\_omnichannel               |
| OmnichannelRoasAllPv24h                         | roas\_view1d\_omnichannel\_xdevice      |
| RoasPc30dPv24h                                  | roas\_click30d\_view1d                  |
| RoasAllPc30dPv24h                               | roas\_click30d\_view1d\_xdevice         |
| RoasPc1d                                        | roas\_click1d                           |
| RoasAllPc1d                                     | roas\_click1d\_xdevice                  |
| RoasPc7d                                        | roas\_click7d                           |
| RoasAllPc7d                                     | roas\_click7d\_xdevice                  |
| PostInstallRoas                                 | roas\_postinstall                       |
| ECosClientAttribution                           | roi\_client                             |
| ECosAllClientAttribution                        | roi\_client\_xdevice                    |
| ECosPc30d                                       | roi\_click30d                           |
| ECosAllPc30d                                    | roi\_click30d\_xdevice                  |
| ECosPv24h                                       | roi\_view1d                             |
| ECosAllPv24h                                    | roi\_view1d\_xdevice                    |
| ECosPc30dPv24h                                  | roi\_click30d\_view1d                   |
| ECosAllPc30dPv24h                               | roi\_click30d\_view1d\_xdevice          |
| ECosPc1d                                        | roi\_click1d                            |
| ECosAllPc1d                                     | roi\_click1d\_xdevice                   |
| ECosPc7d                                        | roi\_click7d                            |
| ECosAllPc7d                                     | roi\_click7d\_xdevice                   |
| PostInstallCostOfSale                           | roi\_postinstall                        |
| SalesClientAttribution                          | sales\_client                           |
| SalesAllClientAttribution                       | sales\_client\_xdevice                  |
| OmnichannelSalesClientAttribution               | sales\_client\_omnichannel              |
| SalesPc30d                                      | sales\_click30d                         |
| SalesAllPc30d                                   | sales\_click30d\_xdevice                |
| SalesOfflinePc30d                               | sales\_click30d\_offline                |
| OmnichannelSalesPc30d                           | sales\_click30d\_omnichannel            |
| OmnichannelSalesAllPc30d                        | sales\_click30d\_omnichannel\_xdevice   |
| SalesPv24h                                      | sales\_view1d                           |
| SalesAllPv24h                                   | sales\_view1d\_xdevice                  |
| SalesOfflinePv24h                               | sales\_view1d\_offline                  |
| OmnichannelSalesPv24h                           | sales\_view1d\_omnichannel              |
| OmnichannelSalesAllPv24h                        | sales\_view1d\_omnichannel\_xdevice     |
| SalesPc30dPv24h                                 | sales\_click30d\_view1d                 |
| SalesAllPc30dPv24h                              | sales\_click30d\_view1d\_xdevice        |
| SalesPc1d                                       | sales\_click1d                          |
| SalesAllPc1d                                    | sales\_click1d\_xdevice                 |
| SalesPc7d                                       | sales\_click7d                          |
| SalesAllPc7d                                    | sales\_click7d\_xdevice                 |
| PostInstallSales                                | sales\_postinstall                      |
| Visits                                          | visits                                  |
| MD5(adsetId + ':' + Day + ':' + \_\_source\_id) | \_\_sync\_key                           |

### **Categories**

* Endpoint: [Advertisers](https://developers.criteo.com/marketing-solutions/v2021.04/docs/get-advertiser-portfolio#retrieving-all-advertisers)
* Update Method: TRUNCSERT
* Table Name: \[`criteo.categories`]

| JSON Element                                                  | Database Column            |
| ------------------------------------------------------------- | -------------------------- |
| categoryHashCode                                              | category\_hash\_code       |
| categoryName                                                  | category\_name             |
| catalogId                                                     | catalog\_id                |
| catalogName                                                   | catalog\_name              |
| advertiserId                                                  | advertiser\_id             |
| advertiserName                                                | advertiser\_name           |
| campaignId                                                    | campaign\_id               |
| campaignName                                                  | campaign\_name             |
| numberOfProducts                                              | number\_of\_products       |
| enabled                                                       | enabled                    |
| categoryBid::bidValue                                         | category\_bid\_value       |
| categoryBid::bidCurrency                                      | category\_bid\_currency    |
| categoryBid::bidType                                          | category\_bid\_type        |
| categoryBid::bidIsPending                                     | category\_bid\_is\_pending |
| MD5(catalogId + advertiserId + campaignId + categoryHashCode) | key                        |
| MD5(catalogId + advertiserId + campaignId + categoryHashCode) | \_\_sync\_key              |

### **Advertisers**

* Endpoint: [Advertisers](https://developers.criteo.com/marketing-solutions/v2021.04/reference/apiportfolioget)
* Update Method: TRUNCSERT
* Table Name: \[`criteo.advertisers`]

| JSON Element               | Database Column  |
| -------------------------- | ---------------- |
| id                         | advertiser\_id   |
| attributes::advertiserName | advertiser\_name |
| MD5(id + \_\_source\_id)   | \_\_sync\_key    |

### **Audiences**

* Endpoint: [Audiences](https://developers.criteo.com/marketing-solutions/v2021.04/docs/get-existing-audiences)
* Update Method: TRUNCSERT
* Table Name: \[`criteo.audiences`]

| JSON Element                   | Database Column    |
| ------------------------------ | ------------------ |
| id                             | audience\_id       |
| attributes::advertiserId       | advertiser\_id     |
| attributes::name               | name               |
| attributes::description        | description        |
| attributes::created            | created\_at        |
| attributes::updated            | updated\_at        |
| attributes::nbLines            | nb\_lines          |
| attributes::nbLinesEmail       | nb\_lines\_email   |
| attributes::nbMathcesEmail     | nb\_matches\_email |
| MD5(id + ':' + \_\_source\_id) | \_\_sync\_key      |

### **Transactions**

* Endpoint: [Transactions](https://developers.criteo.com/marketing-solutions/v2021.04/reference/gettransactionsreport)
* Update Method: TRUNCSERT
* Table Name: \[`criteo.transactions`]

| JSON Element                              | Database Column            |
| ----------------------------------------- | -------------------------- |
| advertiserId                              | advertiser\_id             |
| transactionId                             | transaction\_id            |
| transactionDate                           | transaction\_date          |
| adsetName                                 | adset\_name                |
| advertiserName                            | advertiser\_name           |
| eventType                                 | event\_type                |
| eventDate                                 | event\_date                |
| attributedTransaction                     | attributed\_transaction    |
| currency                                  | currency                   |
| amount                                    | amount                     |
| crossDeviceTransaction                    | cross\_device\_transaction |
| MD5(transactionId + ':' + \_\_source\_id) | \_\_sync\_key              |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.daasity.com/core-concepts/data-integrations/setup-guides/digital-integrations/criteo/integration-specifications.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
