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

# Explorer

> Construisez des requêtes et des rapports d'analytique personnalisés à l'aide de l'Explorer dans Aftersell.

L'Explorer vous permet de construire des requêtes d'analytique personnalisées à l'aide d'un générateur de requêtes flexible (AftersellQL). Vous pouvez sélectionner des métriques, regrouper les résultats par dimensions, appliquer des filtres et visualiser les données sous forme de graphiques ou de tableaux. Les requêtes enregistrées peuvent être ajoutées aux rapports en tant que widgets pour un suivi continu.

<Tip>
  Vous construisez les requêtes visuellement avec des menus — aucune syntaxe requise. Si vous préférez saisir les requêtes directement, l'Explorer expose également le texte AftersellQL sous-jacent. Consultez [Écrire des requêtes AQL](#writing-aql-queries) ci-dessous pour la référence de syntaxe.
</Tip>

***

<div id="available-metrics">
  ## Métriques disponibles
</div>

Voici les métriques que vous pouvez choisir dans l'Explorer, regroupées de la même manière que le sélecteur de métriques les regroupe.

<div id="revenue--profit">
  ### Revenu et profit
</div>

| Métrique                     | Description                                                                                                                                                                                                                                                                                                                                                                                            |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Revenue**                  | Revenu d'upsell dans la devise native de votre boutique.                                                                                                                                                                                                                                                                                                                                               |
| **Revenue (USD)**            | Revenu d'upsell normalisé en USD pour les comparaisons entre devises.                                                                                                                                                                                                                                                                                                                                  |
| **Revenue Per Visit**        | Revenu d'upsell par session d'impression. Ne peut pas être ventilé par produit, placement, funnel ou appareil.                                                                                                                                                                                                                                                                                         |
| **Avg. Conversion Value**    | Revenu par offre acceptée. Également appelé Average Upsell Value.                                                                                                                                                                                                                                                                                                                                      |
| **Upsell Revenue Per Order** | Revenu d'upsell (USD) divisé par le nombre total de commandes. Niveau boutique uniquement.                                                                                                                                                                                                                                                                                                             |
| **Product Profit**           | Revenu moins le coût des marchandises vendues (COGS) pour les produits vendus en upsell. Repose sur le COGS configuré par le marchand, à considérer donc comme une estimation : les produits sans coût suivi comptabilisent le revenu comme profit, et la couverture des coûts varie selon les boutiques. Granularité produit uniquement ; ne peut pas être ventilé par funnel, placement ou appareil. |

<div id="conversions">
  ### Conversions
</div>

| Métrique         | Description                                                                    |
| ---------------- | ------------------------------------------------------------------------------ |
| **Conversions**  | Sessions uniques ayant accepté une offre.                                      |
| **Accept Rate**  | Conversions divisées par les impressions.                                      |
| **Units Sold**   | Nombre total d'unités vendues via les offres d'upsell.                         |
| **Decline Rate** | Pourcentage d'offres post-achat explicitement refusées. Post-achat uniquement. |

<div id="engagement">
  ### Engagement
</div>

| Métrique        | Description                                             |
| --------------- | ------------------------------------------------------- |
| **Impressions** | Sessions uniques ayant vu une offre.                    |
| **Show Rate**   | Pourcentage de décisions ayant abouti à une impression. |

<div id="store-performance">
  ### Performance de la boutique
</div>

| Métrique                      | Description                                                                                                                                      |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Total Store Revenue**       | Revenu total des commandes payées via Shopify. Niveau boutique uniquement — ne peut pas être ventilé par surface, funnel, placement ou appareil. |
| **Orders**                    | Nombre total de commandes payées via Shopify. Niveau boutique uniquement.                                                                        |
| **Average Total Order Value** | Revenu de la boutique divisé par les commandes. Valeur moyenne des commandes au niveau boutique.                                                 |

<div id="rokt-network">
  ### Réseau Rokt
</div>

| Métrique                       | Description                                                                                                            |
| ------------------------------ | ---------------------------------------------------------------------------------------------------------------------- |
| **Rokt Revenue**               | Revenu du réseau Rokt attribué à votre boutique.                                                                       |
| **Rokt Transactions**          | Nombre de transactions du réseau Rokt pour votre boutique.                                                             |
| **Rokt Revenue / Transaction** | Revenu Rokt divisé par les transactions par intervalle de temps.                                                       |
| **Rokt Impressions**           | Nombre total d'impressions du réseau Rokt sur les placements de votre boutique. Distinct des **Impressions** d'upsell. |
| **Rokt Referrals**             | Références du réseau Rokt — engagements positifs ayant dirigé l'acheteur vers un partenaire Rokt.                      |

***

<div id="dimensions">
  ## Dimensions
</div>

Les dimensions vous permettent de ventiler les métriques selon un attribut spécifique. Toutes les dimensions ne sont pas compatibles avec chaque métrique.

<Note>
  Certaines combinaisons de dimensions et de métriques sont incompatibles. Par exemple, **Decline rate** et **Show rate** ne peuvent pas être ventilés par **Currency**. L'Explorer empêche automatiquement les combinaisons incompatibles.
</Note>

<div id="available-dimensions">
  ### Dimensions disponibles
</div>

| Dimension     | Description                                                                                                                                                                       |
| ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Date**      | Regroupe les résultats par jour, semaine ou mois.                                                                                                                                 |
| **Surface**   | La surface d'upsell (par exemple, post-achat, checkout, page produit).                                                                                                            |
| **Funnel**    | Le funnel spécifique auquel appartient l'offre.                                                                                                                                   |
| **Product**   | Le produit vendu en upsell.                                                                                                                                                       |
| **Placement** | Le placement au sein d'un funnel.                                                                                                                                                 |
| **Device**    | Le type d'appareil (ordinateur ou mobile).                                                                                                                                        |
| **Scope**     | La portée de la décision (Flow, Experience, Placement ou ItemSlot).                                                                                                               |
| **Currency**  | Le code de devise ISO (par exemple, USD, EUR, GBP). Utile pour les boutiques multidevises. Compatible avec les métriques au niveau boutique et la plupart des métriques d'upsell. |

<div id="unavailable-dimensions">
  ### Dimensions non disponibles
</div>

Les dimensions suivantes sont en cours de développement. Elles apparaissent dans le sélecteur mais ne sont pas encore disponibles en tant que ventilation. À la place, elles s'affichent comme « Not compatible » pour chaque métrique. **Ce document sera mis à jour lorsque ces dimensions seront entièrement implémentées.**

| Dimension         | Description                                                           |
| ----------------- | --------------------------------------------------------------------- |
| **Flow type**     | Le type de flux d'upsell.                                             |
| **Experiment**    | La variante du test A/B ou de l'expérience.                           |
| **Outcome**       | Le résultat de la décision (par exemple, éligible, rupture de stock). |
| **Reason code**   | La raison d'un résultat de décision.                                  |
| **Scope**         | La portée de la décision (Flow, Experience, Placement ou ItemSlot).   |
| **Response type** | La réponse à l'offre (Accepted, Declined ou Timeout).                 |

***

<div id="writing-aql-queries">
  ## Écrire des requêtes AQL
</div>

Chaque requête que vous construisez dans l'Explorer est une instruction **AftersellQL (AQL)**. La plupart du temps, vous construisez les requêtes visuellement — en choisissant les métriques, les dimensions, les filtres et une plage de dates dans les menus — sans jamais avoir besoin d'écrire de l'AQL à la main.

Pour les utilisateurs avancés, l'Explorer expose également la requête sous-jacente sous forme de texte modifiable. Cette section est la référence de cette forme textuelle : la signification des clauses, les valeurs qu'elles acceptent et quelques exemples prêts à l'emploi.

<div id="how-an-aql-statement-reads">
  ### Comment se lit une instruction AQL
</div>

Une instruction AQL est une question unique composée de clauses. Seuls `SELECT` et une plage de temps (`SINCE`) sont requis ; tout le reste est facultatif. Lorsque vous incluez des clauses facultatives, elles doivent apparaître dans l'ordre indiqué ci-dessous.

```text theme={"theme":{"light":"snazzy-light","dark":"github-dark"}}
SELECT    <metrics>                    -- what to measure (required)
WHERE     <filters>                    -- narrow the data
GROUP BY  <dimensions>                 -- break the numbers down
SINCE     <time range>                 -- the period to cover (required)
GRAIN     <time grain>                 -- bucket size for time series
COMPARE   <comparison>                 -- compare against another period
CHART     <visualization>              -- how to display the result
TIMEZONE  "<timezone>"                 -- timezone for date buckets
ORDER BY  <field> <direction>          -- sort the results
LIMIT     <number>                     -- cap the number of rows
```

Un exemple minimal — revenu d'upsell quotidien et taux d'acceptation pour les 30 derniers jours :

```aql theme={"theme":{"light":"snazzy-light","dark":"github-dark"}}
SELECT revenue, accept_rate
GROUP BY date
SINCE last_30d
GRAIN day
```

<Note>
  Les mots-clés ne sont pas sensibles à la casse (`SELECT` et `select` fonctionnent tous les deux) et les instructions ne se terminent pas par un point-virgule. Les valeurs de type chaîne sont entourées de guillemets doubles ; les nombres et les listes ne le sont pas.
</Note>

<div id="picking-what-to-measure-and-how-to-slice-it">
  ### Choisir quoi mesurer et comment le découper
</div>

* **`SELECT`** liste les métriques à mesurer, séparées par des virgules — par exemple `SELECT revenue, impressions, accept_rate`.
* **`GROUP BY`** ventile ces métriques selon une ou plusieurs dimensions, comme `date`, `device`, `surface` ou `funnel`. Sans `GROUP BY`, vous obtenez un total unique pour toute la période.

Pour la liste complète des métriques et dimensions disponibles — et les combinaisons autorisées — consultez [Métriques disponibles](#available-metrics) et [Dimensions disponibles](#available-dimensions) ci-dessus. L'Explorer empêche automatiquement les combinaisons incompatibles de métriques et de dimensions.

<div id="filtering-with-where">
  #### Filtrer avec `WHERE`
</div>

`WHERE` restreint les données avant qu'elles ne soient mesurées. Combinez les conditions avec `AND`.

```aql theme={"theme":{"light":"snazzy-light","dark":"github-dark"}}
SELECT revenue, impressions, accept_rate, rpv
WHERE device = "mobile"
GROUP BY date
SINCE last_month
GRAIN day
```

Les comparaisons prises en charge sont `=`, `!=`, `IN`, `NOT IN`, `>`, `<`, `>=` et `<=`. Utilisez une liste avec `IN` pour correspondre à plusieurs valeurs :

```aql theme={"theme":{"light":"snazzy-light","dark":"github-dark"}}
WHERE experiment IN ["variant_a", "variant_b"]
```

<div id="filtering-by-multiple-funnels">
  #### Filtrer par plusieurs funnels
</div>

Le filtre **funnel** prend en charge des opérateurs de sélection multiple afin que vous puissiez limiter une requête à un sous-ensemble de vos funnels :

* **is one of** — inclut uniquement les funnels sélectionnés (`IN`).
* **is not one of** — exclut les funnels sélectionnés (`NOT IN`).

Lorsque vous choisissez **is one of** ou **is not one of**, le champ de valeur se transforme en une liste défilante de cases à cocher affichant tous les noms de vos funnels. Sélectionnez autant de funnels que nécessaire.

Lorsque vous regroupez les résultats par **Funnel** et appliquez un filtre **is one of**, le graphique en courbes affiche une courbe par funnel sélectionné — même si vous en sélectionnez plus que le nombre de séries par défaut. Aucun funnel sélectionné n'est regroupé dans une catégorie « Other ».

<div id="time-ranges-and-comparisons">
  ### Plages de temps et comparaisons
</div>

Chaque requête a besoin d'une plage de temps, définie avec `SINCE`. Utilisez un préréglage ou une fenêtre personnalisée.

| Forme                 | Exemple                             | Signification                                           |
| --------------------- | ----------------------------------- | ------------------------------------------------------- |
| Préréglage            | `SINCE last_30d`                    | Une fenêtre glissante se terminant aujourd'hui.         |
| Fenêtre personnalisée | `SINCE 2025-11-28 UNTIL 2025-12-01` | Une plage fixe, utilisant des dates ISO (`YYYY-MM-DD`). |

Préréglages disponibles : `last_1d`, `last_7d`, `last_30d`, `last_90d`, `this_month`, `last_month` et `this_year`.

* **`GRAIN`** définit la taille de l'intervalle pour les séries temporelles — `hour`, `day`, `week` ou `month`.
* **`COMPARE`** superpose une seconde période afin que vous puissiez voir l'évolution d'un coup d'œil. Utilisez `previous_period` (la fenêtre de même durée juste avant) ou `previous_year` (la même fenêtre décalée d'un an en arrière).

```aql theme={"theme":{"light":"snazzy-light","dark":"github-dark"}}
-- BFCM 2025 vs BFCM 2024
SELECT revenue, impressions, accept_rate
GROUP BY date
SINCE 2025-11-28 UNTIL 2025-12-01
GRAIN day
COMPARE previous_year
```

<div id="choosing-a-chart-and-timezone">
  ### Choisir un graphique et un fuseau horaire
</div>

Ces clauses facultatives sont généralement définies pour vous par les contrôles visuels de l'Explorer, mais vous pouvez aussi les écrire directement :

* **`CHART`** définit la manière dont le résultat est affiché : `scorecard`, `line_chart`, `bar_chart`, `area_chart`, `funnel_chart` ou `table`.
* **`TIMEZONE`** définit le fuseau horaire utilisé pour regrouper les dates, sous la forme d'un nom IANA entre guillemets — par exemple `TIMEZONE "America/New_York"`. Par défaut : UTC.

```aql theme={"theme":{"light":"snazzy-light","dark":"github-dark"}}
SELECT revenue
GROUP BY date
SINCE last_30d
GRAIN day
CHART line_chart
TIMEZONE "America/New_York"
```

Le type `funnel_chart` a des exigences spécifiques :

* **Mode placement** — Regroupez par `placement` et sélectionnez une métrique. Les étapes sont ordonnées selon la séquence canonique des placements (upsell par défaut → downsell → upsells supplémentaires). Seule la première métrique est tracée ; les métriques supplémentaires sélectionnées sont mentionnées dans une note de bas de page.
* **Mode métrique** — Sélectionnez deux métriques ou plus sans `GROUP BY`. Chaque métrique devient une étape du funnel dans l'ordre de la requête (par exemple, `SELECT impressions, conversions` affiche une déperdition impressions → conversions). Toutes les métriques doivent partager la même unité (par exemple, vous ne pouvez pas mélanger des métriques de devise et de pourcentage).

```aql theme={"theme":{"light":"snazzy-light","dark":"github-dark"}}
-- Placement funnel: conversion drop-off across placements
SELECT impressions
GROUP BY placement
SINCE last_30d
CHART funnel_chart
```

```aql theme={"theme":{"light":"snazzy-light","dark":"github-dark"}}
-- Metric funnel: impressions to conversions drop-off
SELECT impressions, conversions
SINCE last_30d
CHART funnel_chart
```

<div id="sorting-and-limiting">
  ### Trier et limiter
</div>

* **`ORDER BY`** trie les résultats par une métrique ou une dimension, avec `ASC` ou `DESC`.
* **`LIMIT`** plafonne le nombre de lignes renvoyées — utile pour les questions de type « top N ».

```aql theme={"theme":{"light":"snazzy-light","dark":"github-dark"}}
-- Top 20 products by upsell revenue this month
SELECT revenue, conversions, avg_conversion_value
GROUP BY product
SINCE this_month
ORDER BY revenue DESC
LIMIT 20
```

<div id="more-examples">
  ### Plus d'exemples
</div>

```aql theme={"theme":{"light":"snazzy-light","dark":"github-dark"}}
-- Daily performance vs the previous period
SELECT revenue, impressions, conversions, accept_rate
GROUP BY date
SINCE last_30d
GRAIN day
COMPARE previous_period
```

```aql theme={"theme":{"light":"snazzy-light","dark":"github-dark"}}
-- Mobile vs desktop accept rate over the last 90 days
SELECT impressions, accept_rate, rpv
GROUP BY device
SINCE last_90d
ORDER BY rpv DESC
```

```aql theme={"theme":{"light":"snazzy-light","dark":"github-dark"}}
-- Which surface is driving the most revenue?
SELECT revenue, impressions, accept_rate
GROUP BY surface
SINCE last_30d
ORDER BY revenue DESC
```

Une fois que vous avez une requête qui vous convient, enregistrez-la et ajoutez-la à un rapport en tant que widget pour qu'elle continue de se mettre à jour — consultez [Gérer les widgets](/fr/aftersell/reports_widgets). Pour supprimer un widget dont vous n'avez plus besoin, chargez-le dans l'Explorer et cliquez sur **Delete** dans la barre de titre. Supprimer un widget le retire de tous les rapports où il apparaît. Le bouton **Delete** n'est affiché que pour les widgets qui vous appartiennent ; les widgets de modèle globaux sont en lecture seule.

***

<div id="exporting-results">
  ## Exporter les résultats
</div>

L'Explorer affiche les résultats de votre requête à l'écran sous forme de scorecard, de graphique ou de tableau — il ne télécharge pas de fichier directement depuis la vue de requête.

Pour obtenir les résultats sous forme de fichier, enregistrez la requête et ajoutez-la à un rapport en tant que [widget](/fr/aftersell/reports_widgets). Chaque widget dispose de son propre bouton **Export to CSV** qui télécharge les données du widget dans un fichier `.csv`. Pour les exports standards de la page Analytics (Excel et CSV), consultez [Exporter vos données](/fr/aftersell/analytics_in_aftersell#exporting-your-data).

***

<div id="timezone-support">
  ## Prise en charge des fuseaux horaires
</div>

Par défaut, les requêtes s'exécutent en UTC. Vous pouvez remplacer le fuseau horaire pour n'importe quelle requête directement dans la barre d'outils de l'Explorer, afin que les résultats regroupés par date (ventilations quotidiennes, hebdomadaires, mensuelles) reflètent votre heure locale plutôt que l'UTC.

<Note>
  Les requêtes qui incluent **Impressions**, **Accept Rate** ou **Revenue Per Visit** regroupent toujours les dates en UTC, quel que soit le fuseau horaire que vous sélectionnez. Ces métriques proviennent d'un agrégat quotidien qui n'est rapporté qu'en jours UTC. Si une requête mélange l'une de ces métriques avec d'autres, l'ensemble du résultat se rabat sur l'UTC afin que les intervalles de dates restent alignés.
</Note>

<div id="setting-a-timezone-for-a-query">
  ### Définir un fuseau horaire pour une requête
</div>

1. Ouvrez l'Explorer dans votre interface d'administration Aftersell.
2. Dans la barre d'outils, cliquez sur le sélecteur **Timezone** (à côté de **Compare**).
3. Choisissez l'un des fuseaux horaires disponibles dans la liste, ou sélectionnez **Account default** pour utiliser le fuseau horaire configuré dans vos paramètres d'analytique.
4. Exécutez votre requête. Les résultats sont regroupés en utilisant le fuseau horaire sélectionné.

Le fuseau horaire sélectionné est enregistré avec la requête. Lorsque vous enregistrez et rechargez une requête, le fuseau horaire est restauré automatiquement.

<div id="account-default-timezone">
  ### Fuseau horaire par défaut du compte
</div>

Si l'option **Lock reporting timezone** est activée dans vos paramètres d'analytique, sélectionner **Account default** dans la barre d'outils utilise ce fuseau horaire verrouillé pour votre requête. Le libellé de la barre d'outils affiche la zone résolue, par exemple **Timezone: Account default (Paris (CET))**.

Si **Lock reporting timezone** n'est pas activé, **Account default** se rabat sur l'UTC.

<div id="specifying-a-timezone-in-aql">
  ### Spécifier un fuseau horaire en AQL
</div>

Vous pouvez également spécifier un fuseau horaire directement dans votre requête AQL à l'aide de la clause `TIMEZONE`, qui apparaît entre `CHART` et `ORDER BY` :

```aql theme={"theme":{"light":"snazzy-light","dark":"github-dark"}}
SELECT ...
CHART ...
TIMEZONE "Asia/Tokyo"
ORDER BY ...
```

Lorsqu'elle est présente, la clause remplace la sélection de la barre d'outils pour cette requête. Le fuseau horaire est préservé lorsque vous enregistrez et rechargez la requête.

<div id="available-timezones">
  ### Fuseaux horaires disponibles
</div>

Le sélecteur de fuseau horaire inclut les options suivantes :

| Fuseau horaire       | Lieu d'exemple            |
| -------------------- | ------------------------- |
| UTC                  | Temps universel coordonné |
| America/New\_York    | New York (ET)             |
| America/Chicago      | Chicago (CT)              |
| America/Denver       | Denver (MT)               |
| America/Los\_Angeles | Los Angeles (PT)          |
| America/Sao\_Paulo   | São Paulo (BRT)           |
| Europe/London        | Londres (GMT/BST)         |
| Europe/Paris         | Paris (CET/CEST)          |
| Asia/Dubai           | Dubaï (GST)               |
| Asia/Tokyo           | Tokyo (JST)               |
| Australia/Sydney     | Sydney (AEST/AEDT)        |

<div id="how-timezone-affects-query-results">
  ### Comment le fuseau horaire affecte les résultats des requêtes
</div>

Lorsqu'un fuseau horaire est défini, le regroupement par date de votre requête utilise l'heure locale au lieu de l'UTC. Par exemple, un événement survenu à `2026-03-29T01:30:00Z` (UTC) tombe le 28 mars à l'heure de New York (ET) mais le 29 mars à l'heure de Paris (CET). Définir le bon fuseau horaire garantit que vos ventilations quotidiennes, hebdomadaires et mensuelles correspondent à vos attentes en matière de reporting métier.

Les requêtes qui n'incluent pas de fuseau horaire — y compris les requêtes précédemment enregistrées — continuent de s'exécuter en UTC, donc les résultats existants ne sont pas affectés.

***

<div id="need-help">
  ## Besoin d'aide ?
</div>

Si vous avez des questions sur l'Explorer ou souhaitez activer l'accès, contactez l'équipe de support Aftersell via le chat intégré à l'application.
