> 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

Pixel Tracking, également connu sous le nom de 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 (aka GET hit)

{% hint style="info" %}
Lorsqu'une requête POST est possible, veuillez privilégier le [API de suivi http](/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 en utilisant Pixel Tracking, construisez une requête GET vers l'URL du point de terminaison de tracking avec les paramètres de requête nécessaires. L'exemple suivant illustre un appel d'événement basique pour le suivi d'une vue de page :

{% 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 (aka workspace), `{yourSourceKey}` par votre clé source 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 des objets et des tableaux

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 les paramètres en indiquant les objets et leurs propriétés à l'aide de 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 placées dans leur propre jeu de crochets. L'exemple suivant illustre 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": "Meilleures ventes",
  "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 sous 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 entre crochets à la clé.
6. Encodez les valeurs de chaîne en URL, par exemple en remplaçant l'espace dans `Meilleures ventes` avec `%20` et les `@` symbole dans l'adresse e-mail par `%40`.

La forme transformée des paramètres d'URL 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=Meilleures%20ventes&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 également être gérés dans les appels d'événement de Pixel Tracking. Cela vous permet d'inclure plusieurs items dans un seul événement, par exemple un événement d'achat. Prenons l'exemple de la 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": ["rouge"],
        "price": 9.99
      }
    },
    {
      "id": "SKU_12346",
      "quantity": 1,
      "price": 9.99,
      "product": {
        "id": "12346",
        "name": "Heart tshirt",
        "colors": ["bleu", "blanc"],
        "price": 9.99
      }
    }
  ]
}
```

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

1. Incluez les paires clé-valeur au niveau supérieur de l'objet JSON comme d'habitude (`ID`, `revenue`, `value`, `shipping_amount`, `tax_amount`, `currency`, `user`).
2. Pour le tableau d'objets, spécifiez 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 d'autres objets ou tableaux à 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%20t-shirt&items[0][product][category_1]=vêtements&items[0][product][colors][]=rouge&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%20t-shirt&items[1][product][colors][]=bleu&items[1][product][colors][]=blanc&items[1][product][price]=9.99
```

{% endcode %}

Dans la forme transformée des paramètres d'URL, 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:

```
GET https://doc.commandersact.com/fr/fonctionnalites/sources/sources-catalog/web/pixel-tracking.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.
