> For the complete documentation index, see [llms.txt](https://doc.commandersact.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.commandersact.com/fr/fonctionnalites/sources/sources-catalog/web/pixel-tracking.md).

# Pixel Tracking API

Le Pixel Tracking, également appelé gifs 1x1 ou clear gifs, vous permet d’enregistrer des données depuis n’importe quel site web (ou application) **où JavaScript ou les requêtes POST ne sont pas autorisés**, mais où vous pouvez insérer une image (alias GET hit)

{% hint style="info" %}
Quand une requête POST est possible, veuillez privilégier le [http tracking API](/fr/fonctionnalites/sources/sources-catalog/server/http-tracking-api.md), plus pratique à utiliser.
{% endhint %}

## Appel d’événement basique

Pour envoyer un appel d’événement basique à l’aide du Pixel Tracking, construisez une requête GET vers l’URL du endpoint de tracking avec les paramètres de requête nécessaires. L’exemple suivant montre un appel d’événement basique pour le suivi d’une page view :

{% code fullWidth="false" %}

```c
GET  https://collect.commander1.com/events?tc_s={siteId}&token={yourSourceKey}&event_name=page_view&prop1=value1
```

{% endcode %}

Dans l’exemple ci-dessus, remplacez `{siteId}` par l’ID de votre site (alias workspace), `{yourSourceKey}` par votre source key spécifique, et `value1` par la valeur souhaitée pour `prop1`. N’oubliez pas d’URL-encoder les valeurs de chaîne, surtout si elles contiennent des caractères spéciaux ou des espaces.

## Appel d’événement avec objets et tableaux

Le Pixel Tracking permet d’utiliser des structures de données plus complexes comme des objets et des tableaux. Pour les inclure dans vos appels d’événement, vous pouvez imbriquer des paramètres en indiquant les objets et leurs propriétés avec des crochets, pour les objets comme pour les tableaux. Les noms de propriétés sont placés entre crochets, et les propriétés imbriquées sont elles-mêmes encadrées par leur propre paire de crochets. L’exemple suivant montre un appel d’événement avec des objets et des tableaux :

```json
{
  "event_name": "page_view",
  "tc_s": "1234",
  "token": "abcdef",
  "page_type": "product_list",
  "page_name": "Best sellers",
  "user": {
    "id": "12356",
    "email": "toto@domain.fr",
    "consent_categories": [
      "1",
      "3"
    ]
  }
}
```

Pour transformer l’appel d’événement JSON ci-dessus en forme de paramètres d’URL, suivez ces étapes :

1. Commencez par une chaîne vide pour la forme de paramètres d’URL.
2. Copiez les paires clé-valeur du niveau supérieur de l’objet JSON (`event_name`, `tc_s`, `token`, `page_type`, `page_name`) telles quelles, en les séparant par des esperluettes (`&`).
3. Pour les objets imbriqués comme `user`, représentez-les dans la forme de paramètres d’URL en ajoutant la clé imbriquée à l’aide de crochets (`[]`).
4. Pour les valeurs de tableau comme `user[consent_categories]`, ajoutez `[]` à la clé pour indiquer un paramètre de tableau.
5. Incluez chaque élément du tableau comme une paire clé-valeur distincte, en ajoutant également la notation des crochets à la clé.
6. Encodez les valeurs de chaîne en URL, par exemple en remplaçant l’espace dans `Best sellers` avec `%20` et les `@` le symbole dans l’adresse e-mail par `%40`.

La forme de paramètres d’URL transformée pour l’appel d’événement JSON serait :

{% code overflow="wrap" %}

```plaintext
GET  https://collect.commander1.com/events?tc_s=1234&token=abcdef&event_name=page_view&page_type=product_list&page_name=Best%20sellers&user[id]=12356&user[email]=toto%40domain.fr&user[consent_categories][]=1&user[consent_categories][]=3
```

{% endcode %}

## Gérer un tableau d’objets (ex : items)

Les tableaux d’objets peuvent aussi être gérés dans les appels d’événement du Pixel Tracking. Cela vous permet d’inclure plusieurs items dans un seul événement, comme un événement d’achat. Prenons un exemple de gestion d’un tableau d’objets pour des items dans un événement d’achat :

```json
{
  "id": "O_12345",
  "revenue": 16.00,
  "value": 22.53,
  "shipping_amount": 3.33,
  "tax_amount": 3.20,
  "currency": "EUR",
  "user": {
    "id": "12356",
    "email": "toto@domain.fr"
  },
  "items": [
    {
      "id": "SKU_12345",
      "quantity": 1,
      "product": {
        "id": "12345",
        "name": "Trex tshirt",
        "category_1": "clothes",
        "colors": ["red"],
        "price": 9.99
      }
    },
    {
      "id": "SKU_12346",
      "quantity": 1,
      "price": 9.99,
      "product": {
        "id": "12346",
        "name": "Heart tshirt",
        "colors": ["blue", "white"],
        "price": 9.99
      }
    }
  ]
}
```

Pour inclure le tableau d’objets dans l’appel d’événement, suivez ces étapes :

1. Incluez les paires clé-valeur du niveau supérieur de l’objet JSON comme d’habitude (`id`, `revenue`, `valeur`, `shipping_amount`, `tax_amount`, `currency`, `user`).
2. Pour le tableau d’objets, précisez la clé (par ex., `items`) et utilisez des crochets (`[]`) pour indiquer un paramètre de tableau.
3. Incluez chaque objet du tableau comme un ensemble distinct de paires clé-valeur, en préservant la structure des objets.
4. Si nécessaire, imbriquez des objets ou tableaux supplémentaires à l’intérieur des objets du tableau.

Exemple de transformation de l’appel d’événement JSON en forme de paramètres d’URL :

{% code overflow="wrap" %}

```plaintext
id=O_12345&revenue=16.00&value=22.53&shipping_amount=3.33&tax_amount=3.20&currency=EUR&user[id]=12356&user[email]=toto%40domain.fr&items[0][id]=SKU_12345&items[0][quantity]=1&items[0][product][id]=12345&items[0][product][name]=Trex%20tshirt&items[0][product][category_1]=clothes&items[0][product][colors][]=red&items[0][product][price]=9.99&items[1][id]=SKU_12346&items[1][quantity]=1&items[1][price]=9.99&items[1][product][id]=12346&items[1][product][name]=Heart%20tshirt&items[1][product][colors][]=blue&items[1][product][colors][]=white&items[1][product][price]=9.99
```

{% endcode %}

Dans la forme de paramètres d’URL transformée, chaque élément du tableau est représenté par son index, suivi des clés et valeurs de l’objet imbriqué.


---

# 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, and the optional `goal` query parameter:

```
GET https://doc.commandersact.com/fr/fonctionnalites/sources/sources-catalog/web/pixel-tracking.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
