> ## Documentation Index
> Fetch the complete documentation index at: https://docs.invoca.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Invoca for Criteo: Integration Overview and Installation Guide

> Send Invoca call and conversation insights to Criteo as standard events to power ad targeting, optimization, and measurement.

Invoca sends call and conversation insights to Criteo. This conversion event data can help power ad targeting, optimization, and measurement, so your ads are shown to people more likely to be interested.

This guide connects your Invoca and Criteo accounts in three steps:

* **Step 1:** get your Criteo Account ID.
* **Step 2:** set up the integration tile in Invoca.
* **Step 3:** update your Invoca Tag to capture the Criteo GUM ID for people who call from your website.

## Step 1: Get your Criteo Account ID

Before setting up the integration, get your Criteo Account ID — the partner ID of the account you're sending data to. Reach out to your Criteo representative if you don't have this value.

You'll also need to select which Criteo Standard Event Name to use for the calls or Signals you send. This name appears in Criteo reports. Use one of the following:

`trackTransaction`, `viewPage`, `login`, `viewHome`, `addPaymentInfo`, `viewSearch`, `viewStore`, `viewItem`, `addToCart`, `viewBasket`, `beginCheckout`, `checkAvailability`, `reserveInStore`

Make note of your Account ID and the event name(s) you've selected — you'll need them next.

## Step 2: Set up the integration in Invoca

1. In the Invoca sidebar menu, click **Integrations**, then select **Manage Integrations**.
2. Click the **Criteo** tile. If the tile says "Learn More," reach out to your account team or [support@invoca.com](mailto:support@invoca.com) to discuss adding the integration.
3. Enter a friendly name to identify your Criteo account setup.
4. Enter the Criteo Account ID from Step 1.

### Create an Action

An Action is a Call or a specific Signal to report to Criteo as a standard event.

1. Enter a friendly name for the Action — include "Call" or the Signal name to distinguish between Actions.
2. Optionally filter which calls/Signals to send by choosing a Profile (Network level) or Campaign (Profile/Advertiser level).
3. Use the **Triggered By** dropdown to choose the transaction type to send. Select **All Calls** to report calls, or **Signal** and a specific Signal to report a Signal.
4. Enter the **Criteo Standard Event Name** — the pre-defined event name from Step 1 corresponding to your Trigger By selection.
5. Click **Save** to complete the Action. Repeat these steps for each transaction type you want to report to Criteo.
6. To create another Action, click **+ New Action**.

## Step 3: Configure your Invoca Tag(s) to capture the Criteo GUM ID

1. Click the gear icon, select **Invoca Tags**, and find the Tag implemented on your website.
2. Open the Revision History tab and create a New Draft, or continue editing an existing one.
3. Scroll to the Custom Code block section and paste the code below. This makes Invoca ping the Criteo S2S GUM endpoint, which returns a unique identifier for any user known to Criteo:

```js theme={null}
// Working Criteo code starts here
var criteoUrl = '//gum.criteo.com/sync?c=269&r=2&a=1&j=setCriteoId';
var criteoId;

// Needs to be global for JSONP response
// sets the criteoId var in this scope despite being defined at window
window.setCriteoId = function(data) {
    if (data && data.userid) {
        criteoId = data.userid;
    }
};

// This is so we can add it to the custom data field table
window.getCriteoId = function() {
    return criteoId;
};

function noop() {}

// Load the Criteo JSONP script
Invoca.PNAPI.loadScript(criteoUrl, noop, noop);

// Swap the number immediately and update data after 2s
// this gives time for Criteo to respond
options.reRunAfter = 2000;

return options;
```

**Already have code in your Custom Code block?** Scroll to the bottom of your existing code. If there's already a line reading `return options;`, delete it, then paste this code at the end of your custom code block.

4. Test your changes to confirm everything works, then click **Save & Go Live**.
5. If you have multiple Invoca Tags, publish updates to each.

## Validating that events reach Criteo

1. From your Invoca account, select **Integrations**, then **Manage Integrations**.
2. Click the **Criteo** tile in your Integrations library, then click the name of the Action you created. You'll see a Delivery Details chart showing the total number of times data was sent by day for the last 30 days, broken out by successes (green) and errors (red).
   * Green indicates data is flowing. If you see red, click the Delivery History tab to see each individual request and response.
3. Click a row to expand the details and view exactly what was sent and returned by the API. The response tab often has helpful information about the issue.

## Using your integration

Once your webhooks are created and your Criteo campaigns are active, Invoca starts sending events. Call center-based sales appear in your Criteo omnichannel/store dashboard, differentiated from other online transactions.

You may also consider creating audiences based on Invoca-reported events, to use for targeting and suppression in your campaigns.

## FAQs

**How quickly does data need to be sent to Criteo?** Events sent through this integration should be sent in real time or near-real time (within 15 minutes of the event). Criteo's solutions rely on this time window for successful click attribution.

**What fields does Invoca pass to Criteo?** Invoca sends the Criteo Account ID, the calling page URL, the Criteo GUM ID (`criteoId`), the Standard Event Name you selected, the Invoca transaction ID, and revenue (if available).

**How can I see the data Invoca is sending to Criteo?** Open an Action in Invoca to see a Delivery History tab. Expand a row to see the full JSON payload sent to Criteo for that call or Signal.

**How does Invoca send data to Criteo?** Invoca uses a server-to-server (S2S) integration, sending a POST request to Criteo's event endpoint: `https://widget.criteo.com/m/event?version=s2s_v0`.

## Where to go next

* [Invoca for Skai: Integration Overview and Installation Guide](/s/article/invoca-for-skai)
* [Certified Integrations & Custom Options](/s/article/certified-integrations-and-custom-webhooks)
