# Evènements de visite

Pour mesurer l'inventaire disponible pour les annonces publicitaires, il est nécessaire d'envoyer les informations contextuelles relatives à chaque emplacement défini lors de la configuration de votre compte. Dans une intégration **client-side**, le déclenchement de cet événement permettra d'afficher les annonces publicitaires.

Le tableau ci-dessous présente les différents types de pages possibles ainsi que les codes correspondants :

| Type de Page                      | Code   |
| --------------------------------- | ------ |
| Homepage                          | home   |
| Page de résultat de recherche     | search |
| Page de navigation (univers, hub) | hub    |
| Page liste produit de catégorie   | plp    |
| Page détail produit               | pdp    |

## Homepage

Le script suivant est un exemple de code JavaScript à exécuter pour une page de type **home**.

{% tabs %}
{% tab title="EXEMPLE" %}

<pre class="language-javascript"><code class="lang-javascript">&#x3C;script type="text/javascript">
  window.vzbl_q = window.vzbl_q || [];
<strong>  window.vzbl_q.push({
</strong>    event: "visit",
    value: {
      placement: "home"
    }
  });
&#x3C;/script>
</code></pre>

{% endtab %}
{% endtabs %}

## Page de recherche

Le script suivant est un exemple de code Javascript à exécuter pour une page de type **search**.

{% tabs %}
{% tab title="EXEMPLE MINIMAL" %}

```javascript
<script type="text/javascript">
  window.vzbl_q = window.vzbl_q || [];
  window.vzbl_q.push({
    event: "visit",
    value: {
      placement: "search",
      search_terms: "smart home device"
    }
  });
</script>
```

{% endtab %}

{% tab title="EXEMPLE COMPLET" %}

```javascript
<script type="text/javascript">
  window.vzbl_q = window.vzbl_q || [];
  window.vzbl_q.push({
    event: "visit",
    value: {
      placement: "search",
      search_terms: "smart home device",
      alias: "233eca12ac66bd99b410dae07ca910d9",
      listed_products: {
        ids: ["skuPos1", "skuPos2", "skuPos3", "skuPos4"],
        total: 2872,
        page: 1,
        sort: "popularity",
        filters: [
          {code: "color", op: "in", value: ["red", "blue"]},
          {code: "seller", op: "eq", value: "ACME NG"},
          {code: "price", op: "lte", value: 299.99},
          {code: "rating", op: "gt", value: 3.5}
        ]
      }
    }
  });
</script>
```

{% endtab %}
{% endtabs %}

## Page liste produit de catégorie

Le script suivant est un exemple de code Javascript à exécuter pour une page de type **plp**.

{% tabs %}
{% tab title="EXEMPLE MINIMAL" %}

```javascript
<script type="text/javascript">
  window.vzbl_q = window.vzbl_q || [];
  window.vzbl_q.push({
    event: "visit",
    value: {
      placement: "plp",
      category: "c29023"
    }
  });
</script>// Some code
```

{% endtab %}

{% tab title="EXEMPLE COMPLET" %}

```javascript
<script type="text/javascript">
  window.vzbl_q = window.vzbl_q || [];
  window.vzbl_q.push({
    event: "visit",
    value: {
      placement: "plp",
      category: "c29023",
      alias: "233eca12ac66bd99b410dae07ca910d9",
      listed_products: {
        ids: ["skuPos1", "skuPos2"],
        total: 287,
        page: 2,
        sort: "price_asc",
        filters: [
          {code: "color", op: "eq", value: "white"},
          {code: "free_delivery", op: "eq", value: true},
          {code: "price", op: "lt", value: 99.99},
          {code: "rating", op: "gte", value: 4}
        ]
      }
    }
  });
</script>
```

{% endtab %}
{% endtabs %}

## Page détail produit

Le script suivant est un exemple de code Javascript à exécuter pour une page de type **pdp**.

{% tabs %}
{% tab title="EXEMPLE MINIMAL" %}

```javascript
<script type="text/javascript">
  window.vzbl_q = window.vzbl_q || [];
  window.vzbl_q.push({
    event: "visit",
    value: {
      placement: "pdp",
      product: {
        id: "sku910d",
        categories: ["c290", "c2902", "c29023"]
      }
    }
  });
</script>
```

{% endtab %}

{% tab title="EXEMPLE COMPLET" %}

```javascript
<script type="text/javascript">
  window.vzbl_q = window.vzbl_q || [];
  window.vzbl_q.push({
    event: "visit",
    value: {
      placement: "pdp",
      alias: "233eca12ac66bd99b410dae07ca910d9",
      product: {
        id: "sku910d",
        categories: ["c290", "c2902", "c29023"],
        price: 456.90,
        availability: "in stock",
        rating: 4.2,
        reviews: 168
      }
    }
  });
</script>
```

{% endtab %}
{% endtabs %}

<table><thead><tr><th>Paramètres</th><th width="338.3333333333333">Détails</th><th>Obligatoire </th></tr></thead><tbody><tr><td>placement</td><td><p>Le code du type de page visitée / emplacement</p><p><em><mark style="background-color:blue;">Exemple: "home", "search", "plp", "pdp"</mark></em></p></td><td><strong>OUI</strong></td></tr><tr><td>search_terms</td><td><p>Les mots clés recherchés par l’utilisateur </p><p><em><mark style="background-color:blue;">Exemple: "my search terms"</mark></em></p></td><td>OUI (search)</td></tr><tr><td>category</td><td><p>L'identifiant de la catégorie principale de la page liste de produits </p><p><em><mark style="background-color:blue;">Exemple: "cat1302"</mark></em></p></td><td>OUI (plp)</td></tr><tr><td>product.id</td><td><p>L’identifiant du produit de la page détail produit</p><p><em><mark style="background-color:blue;">Exemple: "pid9123374"</mark></em></p></td><td>OUI (pdp)</td></tr><tr><td>product.categories</td><td><p>Identifiants des catégories d’appartenance du produit</p><p><em><mark style="background-color:blue;">Exemple: ["cat1", "cat13", "cat1302"]</mark></em> </p></td><td>OUI (pdp)</td></tr><tr><td>listed_products.ids</td><td><p>Un tableau contenant les identifiants des produits présents sur la page courante</p><p><em><mark style="background-color:blue;">Exemple: ["pid1", "pid23", "pid372"]</mark></em> </p></td><td>NON (search, plp)</td></tr><tr><td>alias</td><td>L' identifiant du client transformé avec une fonction de hachage (MD5, SHA-256)</td><td>NON</td></tr></tbody></table>


---

# 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://docs.veasybl.io/evenements-de-visite.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.
