Sign in

Welcome to our Support Center

Get help with integration and live campaigns

Welcome to our Support Center. Get help with integration and live campaigns

Offline sales data feed - flat file feed integration

1 - Overview

By passing Criteo your offline sales data you can gain a better understanding of the effectiveness of your digital campaigns and return on ad spend.

Bricks and mortar retailers that are already passing their in-store sales data to Criteo are able to leverage up to 4x more sales information to optimize their marketing efforts, leading to improved digital campaigns and the ability to drive more sales online and in-store.

There are 3 options for passing Criteo your offline sales data.  This page talks through the flat file feed integration, but you can also integrate through the Criteo Offline API or via data partner integrations.

2 - Flat file feed integration

If you wish to share your data via flat file feed integration, please use a TSV or CSV feed format.

The CSV format is based on the comma-separated value.  The header must be declared in the first row of the file, it is recommended that headers are provided in the lower case and don't contain spaces.

Files can be uploaded to the Criteo FTP or SFTP, or downloaded from your own FTP or SFTP by Criteo.  Get in touch with your Account Strategist to agree the integration method that is best for you. 

Each line in the file should be a distinct product with their unit price and quantity.  Transactions that include several products should be split into multiple lines, sharing the same event_id.  Criteo will group by event_id and calculate the total price.

Please note, Criteo can also accept one line per transaction, in which case multiple product data should be separated by pipes(|) inside the "event_item_id" column.

It is recommended that you schedule an import at least once daily, Criteo can process the flat file as frequently as every hour.  The maximum ingestion delay is 48 hours.

Type

Feed example

Format

Update

Location

One event_item_id per line.

Each line of a given transaction to share the same event_id.

Feed example

CSV / TSV 

Daily (maximum 48 hours)

Criteo (S)FTP / Client (S)FTP

One event_id per line.

Including an event_item_id column with a list of product IDs separated by pipes (|).

Feed example

CSV / TSV

Daily (maximum 48 hours) 

 Criteo (S)FTP / Client (S)FTP


Please see below the data specification for your flat file upload, showing columns that are required and optional.

4.1 - Required fields

4.1.1 user_email

Email of the shopper.

Emails will be ingested into Criteo’s identity graph as SHA256 of an MD5. If you are unable to provide emails in this format you can provide MD5 encrypted emails, which will be hashed on the fly by Criteo before being ingested.

Before hashing, all users' email addresses must be:

  • Trimmed i.e. all spaces before and after the user's email address must be removed
  • Converted to lowercase
  • Encoded in UTF-8

To find out more about server side hashing click here.

Type: String

Example: MD5: e13743a7f1db7f4246badd6fd6ff54ff

SHA256 of MD5: 000e3171a5110c35c69d060112bd0ba55d9631c7c2ec93f1840e4570095b263a

 

4.1.2 event_id

The transaction ID.  This will be used for deduplication and debugging, and to group product item data in from different lines.

Type: String

Example: tr_1234567a

4.1.3 event_item_quantity

The number of products purchased.

Type: Integer

Example: 2

4.1.4 event_item_id

The unique identifier for each product purchased.  This must match with your online product feed.

Type: String

Example: pdct_1234

4.1.5 event_currency

The currency of the transaction. This must follow the 3 letter ISO 4217 code.

Type: String

Example: EUR

4.1.6 event_item_price

The unit price of each product purchased. There must be 2 decimal points and the decimal separator must be a point.

Type: Float

Example: 43.99

4.1.7 event_timestamp

The timestamp should be included otherwise time of transaction will be recorded as the time of ingestion.  The timestamp should be precise to the minute for optimal accuracy.

The timestamp must follow the ISO 8601 standards with explicit timezone designator 'Z' when in UTC time zone.

Type: Timestamp. 

UTC format: [YYYY]-[MM]-[DD]T[hh]:[mm]:[ss]Z

None UTC format: [YYYY]-[MM]-[DD]T[hh]:[mm]:[ss]±[hh:mm]

Example (in UTC+1): 2017-06-02T13:25:15+01:00

4.1.8 store_id

The ID of the store in which the sale occurred.

We also highly recommend that you provide us with a Store Directory feed to enable us to effectively drive shoppers to your stores and improve campaign targeting.

Type: Integer

Example: 75020

4.2 - Optional fields

4.2.1 user_crmid

CRM ID of the shopper.

Type: String

Example: 00Q7000fAJuO

4.2.2 event_item_alternate_id

An additional unique identifier for each product purchased, where products have more than one identifier.

Type: String

Example: pdct_1234

4.2.3 event_value

The value of the total transaction. There must be 2 decimal points and the decimal separator must be a point.

Type: Float

Example: 75.00

4.2.4 event_item_id_gtin

Global Trade Item Number (GTIN).

Type: String

Example: 00045678900012

4.2.5 event_item_category

The category of each product purchased.

Type: String

Example: Shoes

4.2.6 event_item_brand

The brand of each product purchased.

Type: String

Example: Nike

4.2.7 event_item_id_mpn

The MPN of each product purchased.

MPN (Manufacturer Part Number) is the unique identifier used by brands to identify their products.

Type: String

Example: 000123456

4.2.8 event_custom_data

Any additional information you may wish to share about this sales event.

Type: Dependent on event

Example: Dependent on event

Was this article helpful?
0 out of 0 found this helpful
Powered by Zendesk