# 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: 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.
