Chaque réservation confirmée, transmise depuis le serveur à Google Ads, Meta, TikTok, Microsoft Ads et GA4

TapTime transforme une réservation de table ou un rendez-vous en une conversion dont les plateformes publicitaires peuvent tirer des enseignements : envoyée côté serveur avec l’identifiant de clic du client, dédoublonnée par rapport à votre pixel et livrée à vos propres systèmes par webhook, postback ou API. Inclus avec les réservations et les rendez-vous à partir de 29 € par mois.

14 jours gratuitsSans carte bancaireConnectez Google, Meta et TikTok en 10 minutes

Clic publicitaire ou lien gclid · fbclid · balises UTM
Réservation confirmée evt_… · valeur · attribution
  • Google AdsImport des conversions par clic
  • MetaConversions API
  • TikTokEvents API
  • Microsoft AdsUET Conversions API
  • GA4Measurement Protocol
  • Tag ManagerdataLayer sur la page
  • WebhookJSON signé, toute réponse 2xx
  • PostbackURL de tracker avec macros
  • API RESTRéservations et flux d’événements
Une réservation confirmée, neuf destinations, un identifiant d’événement.

Qu’est-ce que le suivi des conversions de réservation ?

Le suivi des conversions de réservation consiste à transmettre chaque réservation ou rendez-vous confirmé à la plateforme qui a amené le client, afin que Google Ads, Meta, TikTok, Microsoft Ads et Google Analytics 4 mesurent des réservations plutôt que des pages vues et optimisent leurs campagnes vers les personnes qui réservent réellement. TapTime le fait depuis le serveur, en le reliant à l’identifiant du clic publicitaire, avec un identifiant d’événement par réservation afin qu’un pixel sur la page ne la compte jamais deux fois.

En bref

  • Les conversions sont envoyées depuis le serveur de TapTime au moment où une réservation est confirmée : ni un bloqueur de publicité, ni un onglet fermé, ni un téléphone lent ne peuvent les faire perdre.
  • Google Ads reçoit la conversion par clic avec le gclid, le gbraid ou le wbraid ; Meta et TikTok reçoivent un événement serveur via leurs Conversions API et Events API ; Microsoft Ads reçoit un événement UET avec le msclkid ; GA4 reçoit un événement Measurement Protocol relié à la session du visiteur.
  • Chaque réservation porte un identifiant d’événement unique. Votre pixel ou votre balise de conversion se déclenche avec le même identifiant, et les plateformes n’en conservent exactement qu’un.
  • Seules les réservations effectuées par les clients eux-mêmes comptent. Les réservations téléphoniques et les clients sans réservation saisis par le personnel ne sont jamais transmis comme conversions.
  • Les webhooks, les postbacks serveur à serveur et une API REST livrent la même réservation, avec son attribution, à votre CRM, votre tracker, Zapier ou votre propre code.
  • Les commandes des clients et les nouveaux membres fidélité peuvent également être transmis — comme un achat avec sa valeur et ses articles, et comme une inscription — chacun une seule fois.
  • Telegram, Slack, Microsoft Teams, Google Chat, Discord et Mattermost reçoivent chaque nouvelle demande de réservation, commande ou récompense sous forme de message lisible ; Zapier, Make, n8n et Pipedream la reçoivent sous forme de données pour n’importe quel workflow.
  • Aucuns frais supplémentaires. Le suivi des conversions, les webhooks, les postbacks, les alertes chat, l’automatisation et l’API font partie de chaque module.
9
destinations pour une réservation confirmée
1
identifiant d’événement partagé entre le serveur et le navigateur
30 jours
de mémorisation de la campagne du client
8
tentatives de livraison sur environ une journée

Pourquoi la plupart des publicités de restaurants et de salons optimisent le mauvais objectif

Les plateformes publicitaires apprennent de ce que vous leur transmettez comme conversion. Si elles ne voient que des pages vues, elles trouvent des curieux. Si elles voient des réservations confirmées, elles trouvent des personnes qui réservent.

01

« Le pixel indique 12 réservations. Le tableau en affiche 31. »

Une balise de navigateur ne se déclenche que si le navigateur du client le permet : pas de bloqueur de publicité, pas de réglage de confidentialité iOS strict, onglet encore ouvert au chargement de la confirmation. Chaque réservation manquée est un signal dont Google et Meta ne tirent jamais d’enseignement.

02

« Mes conversions incluent les appels téléphoniques saisis par mon personnel. »

Une réservation saisie à la main par votre réceptionniste ne provient pas d’une publicité. Lorsqu’elle est comptée comme conversion, la campagne paraît meilleure qu’elle ne l’est et le budget part vers les mauvais mots-clés.

03

« Je ne sais pas quelle campagne a réellement rempli la terrasse. »

Sans la campagne, l’identifiant de clic et le site référent enregistrés sur la réservation elle-même, toutes les réservations se ressemblent sur le tableau. La publication Instagram, la publicité Google et l’hôtel partenaire reçoivent tous le même crédit, c’est-à-dire aucun.

Comment une réservation devient une conversion dans TapTime

Quatre étapes, aucune à surveiller de votre côté. Tout le parcours se déroule chez TapTime, du clic jusqu’au journal de livraison.

  1. 1

    Le client arrive avec un identifiant de clic ou un lien balisé

    Google Ads ajoute gclid, gbraid ou wbraid au lien. Meta ajoute fbclid, Microsoft msclkid, TikTok ttclid. Vos propres liens portent utm_source, utm_medium, utm_campaign, utm_term et utm_content. L’identifiant d’un tracker d’affiliation arrive sous la forme click_id, clickid ou subid. TapTime les lit une fois, sur votre page de réservation, votre menu ou le widget de réservation de votre propre site, et les conserve pendant 30 jours sur l’appareil du client.

  2. 2

    La réservation est confirmée

    Automatiquement, ou lorsque votre personnel approuve plus tard une demande en attente. Dans les deux cas, dès que la réservation devient confirmée, TapTime enregistre un événement de réservation et une ligne de livraison par destination, dans la même transaction de base de données que la réservation elle-même. Une livraison ne peut jamais se perdre entre deux systèmes.

  3. 3

    Chaque destination reçoit l’événement avec un identifiant commun

    Google Ads reçoit un import de conversion par clic avec l’identifiant de clic et la valeur de conversion. Meta et TikTok reçoivent un événement serveur via leurs Conversions API et Events API. Microsoft Ads reçoit un événement UET personnalisé via sa Conversions API. GA4 reçoit un événement Measurement Protocol relié au client id et au session id du visiteur. Vos webhooks reçoivent du JSON signé, votre tracker reçoit son URL de postback avec les macros remplies, et le flux d’événements de l’API ajoute une ligne. L’identifiant d’événement est le même partout.

  4. 4

    Les échecs sont relancés, et vous voyez chaque livraison

    Une destination qui répond par une erreur est relancée après 1, 5 et 15 minutes, puis après 1, 3, 6 et 12 heures, soit huit tentatives au total. L’écran Intégrations affiche les 25 dernières livraisons par destination avec la réponse de la plateforme, ainsi qu’un bouton Renvoyer pour celle que vous souhaitez transmettre immédiatement.

Neuf façons dont une réservation confirmée quitte TapTime

Connectez-en une ou toutes depuis Intégrations dans le panneau de gestion. Chacune dispose d’un bouton Tester la connexion ou Envoyer un test, d’un journal de livraison et d’un guide pas à pas dans le centre d’aide. Les commandes et les inscriptions au programme de fidélité peuvent être transmises aux mêmes plateformes.

Suivi des conversions Google Ads

Deux volets utilisables ensemble. Une balise de navigateur (ID et libellé de conversion) se déclenche sur la page de confirmation. Un import côté serveur envoie la conversion via l’API Google Ads avec le gclid, le gbraid ou le wbraid issu du lien de réservation, même lorsque la balise de navigateur a été bloquée. Google accepte les imports pour les clics des 90 derniers jours. Les deux portent le même identifiant de commande : une réservation correspond à une seule conversion.

Configurer les conversions Google Ads

Meta Conversions API (Facebook et Instagram)

Un événement serveur par réservation confirmée, envoyé à l’ensemble de données de votre pixel avec le fbclid, les cookies de navigateur Meta, l’adresse IP et le navigateur du client et, sauf si vous le désactivez, l’e-mail et le téléphone du client hachés en SHA-256 avant de quitter TapTime. Choisissez Schedule, Lead ou Purchase comme nom d’événement. Testez avec un code d’événement test depuis le Gestionnaire d’événements et regardez-le arriver.

Configurer les conversions Meta

TikTok Events API

Un événement serveur par réservation confirmée, envoyé à votre pixel TikTok avec le ttclid issu du lien de réservation, l’adresse IP et le navigateur du client et, sauf si vous le désactivez, son e-mail et son téléphone hachés en SHA-256 avant de quitter TapTime. Choisissez Schedule, Lead, Submit form ou Place an order comme nom d’événement. TapTime place également votre pixel sur la page de réservation : l’événement de navigateur et l’événement serveur partagent un identifiant et TikTok n’en conserve qu’un.

Configurer les conversions TikTok

Conversions Microsoft Ads (Bing)

Deux volets, comme pour Google Ads. TapTime place votre balise UET sur la page de réservation et déclenche un événement personnalisé lorsqu’un client réserve. Ajoutez le jeton de la Conversions API et le serveur transmet ce que la balise ne peut pas voir : les réservations confirmées après le départ du client, les commandes des clients et les nouveaux membres fidélité, attribués grâce au msclkid ou à l’e-mail et au téléphone hachés. Microsoft accepte les événements serveur des 7 derniers jours.

Configurer les conversions Microsoft Ads

Événements de réservation Google Analytics 4

Un événement booking_confirmed par réservation via le Measurement Protocol, avec la valeur et la devise, le client id GA du visiteur et le session id propre à la propriété, afin que la réservation soit reliée à la visite et à la campagne qui l’a générée. Marquez-le comme événement clé dans GA4 et il compte comme conversion dans tous les rapports et dans les enchères Google Ads.

Connecter Google Analytics 4

Webhooks pour votre CRM, Zapier, Make, n8n ou Pipedream

Un endpoint https par système, abonné aux événements de réservation, de commande et de fidélité de votre choix. Chaque requête est un JSON contenant l’intégralité de la réservation, de la commande ou de la carte de fidélité et son attribution, signé en HMAC-SHA256 pour que vous puissiez vérifier qu’il provient de TapTime. Toute réponse 2xx vaut succès, une réponse 410 arrête les relances, et chaque événement possède un identifiant sur lequel vous pouvez dédoublonner.

Ajouter un webhook

Postbacks serveur à serveur pour trackers et affiliés

Collez l’URL de postback fournie par un réseau publicitaire, une plateforme d’affiliation ou un tracker et insérez des variables : {click_id}, {event}, {status}, {value}, {currency}, {party_size}, {booking_id}, {utm_source}, {utm_campaign}, {gclid}, {fbclid} et d’autres. GET ou POST. L’identifiant de clic du tracker parvient à la réservation lorsque votre lien contient click_id, clickid ou subid.

Configurer un postback

API REST pour les réservations et les événements

Clés Bearer, en lecture seule ou en lecture-écriture, 50 requêtes par minute et par clé. Listez les réservations et les rendez-vous filtrés par statut, établissement, plage de dates ou updatedSince, récupérez une réservation, modifiez un statut depuis votre propre système, ou interrogez le flux d’événements ordonné avec un curseur pour rester synchronisé. Les changements de statut effectués via l’API déclenchent les mêmes webhooks et conversions que le tableau.

Créer une clé API

Balises d’analyse sur la page

Votre page TapTime intègre votre propre ID de mesure GA4, votre conteneur GTM et votre Meta Pixel dans un bac à sable d’analyse isolé pour des raisons de sécurité. Lorsqu’un client réserve, la page envoie booking_confirmed ou booking_requested dans le dataLayer autorisé avec le type, la valeur et l’identifiant d’événement de la réservation, afin que les outils d’analyse puissent se déclencher dessus. Les pages de commande et de paiement ne reçoivent aucune balise de l’établissement, et le widget de réservation sur votre propre site web fait de même pour les balises de votre site.

Ajouter des balises à votre page

Pas seulement les réservations : les commandes et la fidélité comptent aussi

La même file d’envoi qui transmet les réservations transmet ce qui se passe une fois le client installé. Activez chaque objectif par plateforme, dans la section « Que transmettre » de la connexion.

Les commandes comme achats

La commande d’un client depuis votre page, le code QR d’une table, à emporter ou en livraison est envoyée une seule fois, lorsqu’elle vous parvient : un achat GA4 avec ses articles, un Purchase Meta ou TikTok avec son contenu, un événement d’achat Microsoft Ads, un import Google Ads vers sa propre action de conversion. La valeur correspond à ce qui a été commandé, hors pourboire. Les ventes enregistrées en caisse ne sont jamais transmises — aucune publicité ne les a générées.

Inscriptions au programme de fidélité

Le premier tampon d’un client dans un programme constitue une inscription : sign_up dans GA4, CompleteRegistration chez Meta et TikTok, rapproché grâce au téléphone haché, un événement d’inscription Microsoft Ads, et Google Ads uniquement lorsque le client provient d’un clic publicitaire. Une seule fois par membre et par programme, quel que soit le nombre de cartes remplies.

Chaque événement, partout ailleurs

Les webhooks, postbacks, alertes chat, plateformes d’automatisation et l’API REST reçoivent les onze événements : une réservation demandée, confirmée, annulée, marquée comme non-présentation ou terminée ; une commande passée ou payée ; un membre qui rejoint le programme, un tampon, une récompense obtenue et utilisée.

Suivi des conversions côté navigateur ou côté serveur : de quoi un restaurant ou un salon a-t-il besoin ?

Des deux, et TapTime gère les deux. La balise de navigateur transmet la visite aux plateformes ; l’événement serveur garantit que la réservation est comptée. Voici ce qui change lorsque le volet serveur est connecté.

Situation Pixel ou balise sur la page uniquement TapTime côté serveur + votre balise
Bloqueurs de publicité et confidentialité stricte du navigateur La conversion est perdue sans avertissement Envoyée depuis le serveur, quel que soit le navigateur du client
Le client ferme l’onglet avant le chargement de la confirmation Perdue Envoyée à l’enregistrement de la réservation, et non à l’affichage d’une page
Le personnel confirme une demande en attente le lendemain matin Aucune page chargée, aucune conversion Envoyée au moment de la confirmation, quelle que soit la personne qui confirme
Réservations téléphoniques et clients sans réservation Comptées si le personnel utilise la même page Jamais transmises ; uniquement les réservations effectuées en ligne par le client
La balise et le serveur se déclenchent tous les deux Deux conversions pour une réservation Un identifiant d’événement commun ; la plateforme n’en conserve qu’une
Valeur de conversion Celle codée en dur dans la balise Le prix de la prestation, ou votre valeur par réservation, éventuellement multipliée par le nombre de personnes
Quelle campagne reçoit le crédit Dépend de la survie des cookies Identifiant de clic et balises UTM enregistrés sur la réservation, mémorisés 30 jours

Comment TapTime évite-t-il qu’une réservation soit comptée deux fois ?

Chaque réservation possède exactement un identifiant d’événement de conversion, un HMAC de la réservation que TapTime renvoie à la page dans la réponse de réservation et envoie depuis le serveur. L’événement de navigateur le transmet comme transaction id Google Ads et comme event id pour Meta, TikTok et la balise UET de Microsoft ; l’événement serveur transmet la même valeur. Ces quatre plateformes dédoublonnent sur cet identifiant, et GA4 ne reçoit aucun événement de navigateur tant que l’intégration serveur est connectée. Une réservation confirmée, annulée puis à nouveau confirmée déclenche un second webhook, car votre système doit en être informé, mais reste une seule conversion.

Plateforme Côté serveur Côté navigateur Clé de dédoublonnage
Google Ads uploadClickConversions avec l’identifiant de clic Conversion gtag avec send_to orderId / transaction_id
Meta Conversions API, événements datant de 7 jours au plus fbq track avec eventID event_id
TikTok Events API avec le ttclid ttq.track avec event_id event_id
Microsoft Ads Conversions API, événements datant de 7 jours au plus uetq push avec event_id event_id
GA4 Measurement Protocol avec client id et session id uniquement lorsque le volet serveur n’est pas connecté une seule source à la fois

À quoi ressemble un webhook de réservation TapTime ?

Une requête POST avec un corps JSON : l’identifiant, le type et l’heure de l’événement, l’indication qu’il s’agit ou non d’un test, et l’intégralité de la réservation (ou de la commande, ou de la carte de fidélité), y compris le client, l’horaire, la table ou la prestation, le statut et la provenance. Quatre en-têtes l’identifient et le signent.

TapTime-Event
le type d’événement : booking.confirmed, order.placed, loyalty.reward_issued et huit autres
TapTime-Event-Id
l’identifiant de l’événement, identique à chaque nouvelle tentative, pour le dédoublonnage
TapTime-Delivery
l’identifiant de cette tentative de livraison précise
TapTime-Signature
t=<unix time>,v1=<hex HMAC-SHA256 de "t.body"> avec votre secret whsec_
  • Répondez par n’importe quel statut 2xx dans le délai imparti et la livraison est marquée comme livrée.
  • Toute autre réponse, ou une absence de réponse, est relancée jusqu’à huit fois sur environ une journée, à intervalles croissants.
  • Répondez 410 Gone et TapTime cesse de relancer cet événement vers cet endpoint.
  • Les redirections ne sont pas suivies. Les endpoints doivent être en https en production et ne peuvent pas pointer vers des adresses privées ou de bouclage.
  • Jusqu’à 50 endpoints, chats et connexions d’automatisation par entreprise. Le propriétaire peut afficher à nouveau le secret de signature ou le renouveler ; le renouvellement désactive immédiatement l’ancien.
Lire le guide des webhooks
POST · application/json · booking.confirmed
{
  "id": "evt_9f3c2a7e1b",
  "type": "booking.confirmed",
  "createdAt": "2026-09-12T19:02:11+03:00",
  "test": false,
  "data": {
    "booking": {
      "kind": "reservation",
      "id": 4821,
      "status": "confirmed",
      "startsAt": "2026-09-12T20:00:00+03:00",
      "partySize": 4,
      "guest": { "name": "Maria K.", "email": "…", "phone": "…" },
      "attribution": {
        "channel": "widget",
        "utmSource": "instagram",
        "utmMedium": "paid_social",
        "utmCampaign": "summer_terrace",
        "gclid": null,
        "fbclid": "IwAR2…",
        "landingUrl": "https://example-bistro.com/?fbclid=…"
      }
    }
  }
}
Vérifier la signature (Node.js)
const [t, v1] = req.headers["taptime-signature"]
  .split(",").map(part => part.split("=")[1]);
const expected = crypto
  .createHmac("sha256", process.env.TAPTIME_WEBHOOK_SECRET)
  .update(`${t}.${rawBody}`)
  .digest("hex");
const valid = crypto.timingSafeEqual(
  Buffer.from(expected), Buffer.from(v1));

Comment fonctionnent les postbacks serveur à serveur pour les conversions de réservation ?

Un postback est l’URL propre au tracker, appelée par le serveur de TapTime à chaque événement, avec les détails de la réservation insérés dans des variables. C’est ainsi que les réseaux d’affiliation, les plateformes CPA et les trackers de clics comptent une conversion sans aucun code sur la page. Votre lien de réservation transmet l’identifiant de clic du tracker sous la forme click_id, clickid ou subid ; TapTime l’enregistre avec la réservation et le réinsère dans l’URL lorsque la réservation est confirmée, annulée ou marquée comme non-présentation.

Lire le guide des postbacks
URL de postback avec variables · GET ou POST
https://tracker.example/postback
  ?cid={click_id}
  &event={event}
  &status={status}
  &payout={value}
  &cur={currency}
  &guests={party_size}
  &src={utm_source}

Variables disponibles

  • {event}
  • {event_id}
  • {status}
  • {booking_id}
  • {booking_type}
  • {order_id}
  • {customer_id}
  • {conversion_id}
  • {value}
  • {currency}
  • {party_size}
  • {branch_id}
  • {timestamp}
  • {utm_source}
  • {utm_medium}
  • {utm_campaign}
  • {utm_term}
  • {utm_content}
  • {gclid}
  • {fbclid}
  • {msclkid}
  • {ttclid}
  • {click_id}

Des alertes dans le chat que votre équipe utilise déjà — et de l’automatisation sans code

Choisissez les événements qu’un chat reçoit : une nouvelle demande de réservation à confirmer, une nouvelle commande, une annulation, une récompense obtenue. Chacun arrive en quelques secondes sous forme de message court dans la langue de votre choix, avec qui, quand, combien de personnes et quel montant, et un lien vers le panneau de gestion.

Messageries

Telegram

Un bot que vous créez avec @BotFather publie dans un groupe, un canal ou un sujet d’un groupe. Le panneau de gestion trouve le chat pour vous.

Slack

Un webhook entrant publie des messages mis en forme dans n’importe quel canal.

Microsoft Teams

Un webhook Workflows publie une Adaptive Card avec les détails et un bouton vers le panneau de gestion.

Google Chat

Un webhook d’espace publie chaque événement dans l’espace.

Discord

Un webhook de serveur publie un embed coloré selon l’événement ; les mentions sont toujours désactivées.

Mattermost

Un webhook entrant sur votre serveur cloud ou auto-hébergé.

Configurer les alertes chat

Plateformes d’automatisation

Zapier

Déclencheur Catch Hook : ajoutez chaque réservation à Google Sheets, chaque commande à votre comptabilité, chaque nouveau membre à Mailchimp.

Make

Déclencheur Custom webhook pour des scénarios avec routeurs, filtres et plus de 2 000 applications.

n8n

Nœud Webhook sur n8n Cloud ou sur votre propre serveur — les données n’ont jamais à quitter votre infrastructure.

Pipedream

Déclencheur HTTP pour des workflows avec vos propres étapes Node.js ou Python.

Les plateformes d’automatisation reçoivent le même JSON signé que les webhooks. Les applications conçues pour elles peuvent s’abonner et se désabonner via l’API REST, de sorte que les utilisateurs activent les déclencheurs sans coller d’URL.

Connecter une plateforme d’automatisation

Que permet l’API REST de TapTime ?

De quoi alimenter vos propres rapports, synchroniser un CRM ou une caisse, ou confirmer des réservations depuis un autre système, sans programme partenaire ni appel commercial. Les clés se créent dans Intégrations, ne s’affichent qu’une fois, sont conservées sous forme de hachage SHA-256 et se révoquent en un clic.

Requête Renvoie
GET /v1/company L’entreprise à laquelle appartient la clé
GET /v1/company/reservations Réservations, filtrées par status, branchId, from, to ou updatedSince ; jusqu’à 100 par page
GET /v1/company/appointments Rendez-vous avec les mêmes filtres
GET /v1/company/reservations/{id} Une réservation, au format du contenu des webhooks, avec son attribution
POST /v1/company/reservations/{id}/status Confirmer, annuler, marquer comme non-présentation, terminer, installer ou rouvrir (clés en écriture) ; déclenche les mêmes webhooks et conversions
GET /v1/company/orders Commandes avec leurs lignes et totaux, filtrées par status, source, fulfilment, date ou paidSince
GET /v1/company/loyalty/cards Cartes de fidélité des membres ; les programmes et les récompenses ont leurs propres listes
GET /v1/company/events?after={cursor} Chaque événement de réservation, de commande et de fidélité dans l’ordre, éventuellement limité à certains types ; interrogez-le avec le dernier curseur pour rester synchronisé
POST /v1/company/webhooks Abonnez une URL à des événements, et supprimez-la avec DELETE pour vous désabonner — des REST hooks pour les applications Zapier, Make, n8n et Pipedream
Réservations confirmées modifiées depuis une date
curl "https://api.tapti.me/v1/company/reservations?status=confirmed&updatedSince=2026-09-01T00:00:00Z" \
  -H "Authorization: Bearer tt_live_…"
Restez synchronisé avec le flux d’événements
curl "https://api.tapti.me/v1/company/events?after=eyJpZCI6OTk4fQ&limit=100" \
  -H "Authorization: Bearer tt_live_…"
Référence complète de l’API Lire le guide de l’API

Quelles données d’attribution sont enregistrées avec chaque réservation ?

Chaque réservation et chaque rendez-vous conservent la campagne qui a amené le client, nettoyée et enregistrée sur la réservation elle-même. Elle s’affiche dans le panneau de détail de la réservation, est résumée dans le tableau de bord sous Provenance des réservations, figure dans les exports CSV et Excel, et accompagne chaque webhook, réponse de l’API et conversion.

Campagne

  • utm_source
  • utm_medium
  • utm_campaign
  • utm_term
  • utm_content

Identifiants de clic publicitaire

  • gclid
  • gbraid
  • wbraid
  • fbclid
  • msclkid
  • ttclid
  • click_id / clickid / subid

Identité analytique

  • Client id GA4
  • Session id GA4 par propriété
  • Cookie Meta fbp
  • Meta fbc (construit à partir du fbclid lorsque le cookie est absent)

Contexte

  • canal : web, widget ou application
  • URL d’arrivée
  • site référent
  • adresse IP et agent utilisateur

La page client lit la campagne une seule fois, à partir de l’adresse à laquelle elle a été ouverte, la conserve pendant 30 jours, et une visite ultérieure sans balises ne l’efface pas. La dernière campagne l’emporte. Les réservations saisies à la main par le personnel et les commandes enregistrées en caisse n’ont pas de campagne, et c’est normal : le client n’est pas arrivé par un lien.

Lire le guide de l’attribution

Qu’est-ce qui compte comme conversion, et qu’est-ce qui ne compte jamais ?

Compte comme conversion

  • Une réservation ou un rendez-vous effectué en ligne par le client, sur votre page TapTime ou dans le widget de réservation de votre propre site, une fois confirmé.
  • Une demande en attente que votre personnel approuve plus tard. La conversion est envoyée au moment de l’approbation.
  • Une réservation comportant un identifiant de clic Google, pour les imports serveur Google Ads. Les réservations qui n’en ont pas sont ignorées pour Google, jamais mises en échec, et partent quand même vers Meta, GA4 et vos webhooks.

Jamais compté

  • Les réservations saisies par votre personnel suite à un appel téléphonique ou pour un client sans réservation. Elles n’ont ni clic ni campagne.
  • Une seconde conversion pour la même réservation, quel que soit le nombre de fois où elle est rouverte et confirmée à nouveau.
  • Une réservation annulée ou non honorée. Celles-ci partent comme événements de webhook et de postback avec leur propre statut, et non comme conversions.

Conçu pour les entreprises qui paient pour obtenir des réservations

Si vous achetez des clics qui aboutissent à une réservation ou à un rendez-vous, voici la moitié manquante de votre compte publicitaire.

Glossaire du suivi des conversions

Les termes employés par les plateformes, réunis en un seul endroit, avec leur signification pour une réservation.

Conversion
Une action que vous avez demandé à une plateforme publicitaire de compter et d’optimiser. Pour TapTime, il s’agit d’une réservation ou d’un rendez-vous confirmé, effectué en ligne par le client.
Suivi des conversions côté serveur
La transmission de la conversion depuis un serveur vers l’API de la plateforme, plutôt que depuis un script dans le navigateur du client, afin qu’elle ne soit perdue ni à cause des bloqueurs de publicité, ni des réglages de confidentialité, ni d’un onglet fermé.
gclid, gbraid, wbraid
Les identifiants de clic de Google, ajoutés à l’URL de destination de l’annonce. gclid est l’identifiant classique ; gbraid et wbraid sont les variantes respectueuses de la vie privée issues des campagnes pour applications iOS et des campagnes web. Google Ads ne peut attribuer une conversion importée qu’à un clic qu’il reconnaît grâce à l’un d’eux.
fbclid, fbp, fbc
L’identifiant de clic de Meta dans l’URL, le cookie d’identification du navigateur déposé par le pixel et le cookie de clic construit à partir du fbclid. Tous trois aident la Conversions API à rattacher une réservation au clic publicitaire.
Import de conversions par clic Google Ads
La méthode de l’API Google Ads (uploadClickConversions) qu’un serveur utilise pour transmettre une conversion liée à un clic précis, avec l’identifiant de clic, l’heure, la valeur et un identifiant de commande servant au dédoublonnage.
ttclid, msclkid
Les identifiants de clic de TikTok et de Microsoft, ajoutés à l’URL de destination de l’annonce par le marquage automatique. La TikTok Events API et la Microsoft Conversions API les utilisent pour attribuer une réservation au clic publicitaire qui l’a générée.
Meta Conversions API (CAPI)
L’endpoint serveur à serveur de Meta pour les événements. Chaque événement porte un event_id ; lorsque le pixel envoie le même événement avec le même identifiant, Meta n’en conserve qu’un.
GA4 Measurement Protocol
L’endpoint HTTP de Google Analytics 4 pour les événements serveur. Un événement est rattaché à la session du visiteur lorsqu’il porte le client id et le session id issus des cookies GA et que la session date de moins de 72 heures environ.
Événement clé
Le nom donné par GA4 à une conversion. Un événement ne compte comme conversion dans les rapports GA4 et dans les enchères Google Ads qu’après avoir été marqué comme événement clé dans Administration → Événements.
Dédoublonnage des événements
L’envoi d’un identifiant commun avec l’événement de navigateur et l’événement serveur, afin qu’une plateforme qui reçoit les deux ne compte qu’une seule conversion.
Paramètres UTM
utm_source, utm_medium, utm_campaign, utm_term et utm_content : des balises que vous ajoutez à vos propres liens pour qu’une réservation se souvienne de la publication, de la newsletter, du flyer ou du partenaire qui a amené le client.
Webhook
Une requête HTTP que TapTime envoie à une URL qui vous appartient chaque fois qu’un événement se produit, avec tous les détails en JSON et une signature permettant de la vérifier.
Postback (pixel serveur à serveur)
Une URL fournie par un réseau publicitaire ou un tracker, que le serveur de l’annonceur appelle à chaque conversion, avec l’identifiant de clic du tracker et la rémunération insérés dans des variables.
Signature HMAC-SHA256
Un hachage à clé du corps de la requête et d’un horodatage, calculé avec un secret partagé. Le recalculer de votre côté prouve que la requête provient de TapTime et n’a pas été modifiée.
Livraison au moins une fois
La garantie que chaque événement est livré, avec pour contrepartie qu’une nouvelle tentative peut en livrer un deux fois. C’est pourquoi chaque événement TapTime porte un identifiant permettant d’ignorer les doublons.
Conversion hors ligne
Une conversion qui se produit en dehors de la session du navigateur, par exemple lorsque le personnel confirme une demande le lendemain. TapTime l’envoie au moment de la confirmation avec l’identifiant de clic d’origine.

Inclus. Ni option payante, ni formule supérieure.

Le suivi des conversions, les webhooks, les postbacks, les alertes chat, l’automatisation et l’API REST sont inclus avec chaque module : les événements de réservation avec Réservation de tables à partir de 29 € par mois et par établissement et Rendez-vous à partir de 39 € par mois et par établissement, les événements de commande avec le menu QR, les événements de fidélité avec Fidélité. Aucuns frais par événement et aucun plafond d’utilisation sur les livraisons.

Chaque module dispose de son propre essai gratuit de 14 jours, sans carte bancaire pour commencer, avec facturation mensuelle et sans contrat. Si vous arrêtez de payer, le module est mis en pause après un court délai de grâce ; rien n’est supprimé.

Les questions des responsables publicitaires et des développeurs

TapTime envoie-t-il les conversions depuis le serveur ou depuis le navigateur du client ?

Les deux. Le serveur envoie la conversion dès que la réservation est confirmée, via l’API Google Ads, la Meta Conversions API et le GA4 Measurement Protocol. Votre balise de navigateur ou votre pixel peut également se déclencher ; il porte le même identifiant d’événement, de sorte que les plateformes ne comptent qu’une conversion.

Ai-je besoin de Google Tag Manager pour suivre les conversions de réservation ?

Non. TapTime communique directement avec Google Ads, Meta et GA4 depuis le serveur. Tag Manager n’est utile que si vous souhaitez déclencher d’autres outils à partir de l’événement booking_confirmed que la page envoie dans le dataLayer.

De quoi ai-je besoin côté Google Ads pour activer les imports côté serveur ?

Une action de conversion, votre numéro client, l’ID de l’action de conversion (le nombre qui suit ctId= dans l’adresse de l’action) et un accès à l’API : un jeton de développeur, un ID client OAuth et son secret, ainsi qu’un jeton d’actualisation. Votre agence ou votre développeur peut vous les fournir. Sans accès à l’API, vous pouvez tout de même utiliser la balise de navigateur.

Pourquoi une livraison indique-t-elle « Aucun clic publicitaire Google sur cette réservation » ?

Le client n’est pas arrivé par une annonce Google, donc le lien de réservation ne contenait ni gclid, ni gbraid, ni wbraid. Google n’accepte les conversions importées que pour les clics qu’il reconnaît : cette réservation est donc ignorée pour Google Ads plutôt que relancée. Elle part quand même vers Meta, GA4 et vos webhooks.

Comment la Meta Conversions API rattache-t-elle une réservation à l’annonce ?

Grâce au fbclid du lien, aux cookies de navigateur Meta (fbp et fbc), à l’adresse IP et au navigateur du client et, sauf si vous désactivez l’option Envoyer l’e-mail et le téléphone hachés, à l’e-mail et au numéro de téléphone du client hachés en SHA-256 avant de quitter TapTime.

Comment TapTime transmet-il les réservations à TikTok ?

Via la TikTok Events API, depuis le serveur, dès qu’une réservation est confirmée. TapTime place également votre TikTok Pixel sur la page de réservation, vous n’avez donc pas à l’y ajouter. Les deux événements portent le même identifiant et TikTok n’en conserve qu’un. Le rapprochement utilise le ttclid du lien, l’adresse IP et le navigateur du client et, sauf si vous le désactivez, son e-mail et son téléphone hachés en SHA-256.

De quoi ai-je besoin pour suivre les conversions dans Microsoft Ads (Bing) ?

L’ID de la balise UET suffit pour commencer : TapTime place la balise sur votre page de réservation et déclenche votre action d’événement lorsqu’un client réserve. Ajoutez le jeton de la Conversions API depuis les paramètres de la balise et le serveur transmet aussi les réservations confirmées après le départ du client, les commandes des clients et les nouveaux membres fidélité. Microsoft active la Conversions API compte par compte et n’accepte que les événements des 7 derniers jours.

Quelle valeur de conversion est envoyée ?

Pour les rendez-vous, le prix de la prestation. Pour les réservations de tables, la valeur par réservation que vous définissez, c’est-à-dire une dépense moyenne, éventuellement multipliée par le nombre de personnes. Laissez le champ vide et les conversions sont envoyées sans valeur.

Les réservations saisies par mon personnel compteront-elles comme conversions publicitaires ?

Non. Seules les réservations effectuées en ligne par les clients eux-mêmes sont transmises comme conversions. Les réservations téléphoniques et les clients sans réservation saisis par le personnel ne gonflent jamais vos résultats publicitaires. Ils apparaissent tout de même dans les exports et sur le tableau.

Que se passe-t-il lorsqu’une réservation est confirmée, annulée puis à nouveau confirmée ?

Vos webhooks et postbacks reçoivent chaque changement, chacun avec son propre identifiant d’événement et son statut, car votre système doit en être informé. Google Ads, Meta et GA4 reçoivent une seule conversion par réservation, définitivement.

Comment vérifier qu’un webhook provient réellement de TapTime ?

Lisez l’en-tête TapTime-Signature, qui se présente sous la forme t=1726128000,v1=<hex>. Calculez le HMAC-SHA256 de la chaîne t.body avec votre secret de signature et comparez-le à v1 à l’aide d’une comparaison à temps constant. Rejetez la requête si les valeurs diffèrent ou si t est plus ancien que ce que vous jugez acceptable.

Un webhook peut-il être envoyé vers Zapier, Make ou n8n ?

Oui. Créez un webhook de réception (catch ou custom) dans l’outil, collez son adresse comme endpoint et appuyez sur Envoyer un test pour que l’outil apprenne les champs. Les coordonnées du client, l’horaire, le statut et l’attribution de la réservation figurent tous dans le JSON.

Combien de temps une campagne est-elle mémorisée avant la réservation ?

30 jours sur l’appareil du client. Un client peut ouvrir votre menu depuis une publicité Instagram le lundi et réserver le jeudi ; la réservation porte toujours cette campagne. Une visite ultérieure sans balises ne l’efface pas, et une visite ultérieure avec une autre campagne la remplace.

Le widget de réservation de mon propre site web suit-il aussi les conversions ?

Oui. Le script intégré lit les balises UTM, les identifiants de clic et les cookies GA et Meta de votre site et les transmet à la réservation, de sorte qu’une réservation effectuée via le widget est attribuée à la publicité qui a amené le visiteur sur votre site. Il envoie également taptime_booking_confirmed dans le dataLayer de votre site et peut déclencher les balises GA4 et Meta propres à votre page.

Existe-t-il une limite de débit ou un coût par appel API ou par webhook ?

Les clés API sont limitées à 50 requêtes par minute chacune, et une entreprise peut détenir jusqu’à 10 clés actives et 20 endpoints de webhook ou de postback. Il n’y a aucuns frais par appel, par événement ou par conversion ; tout est inclus dans les abonnements réservations et rendez-vous.

Que se passe-t-il si j’arrête de payer le module ?

Après un court délai de grâce, le module est mis en pause et la page de réservation affiche un message d’indisponibilité temporaire. Rien n’est supprimé, intégrations comprises ; payez à nouveau et les livraisons reprennent pour les nouvelles réservations.

L’un de ces éléments fait-il l’objet d’un abonnement séparé ?

Non. Les conversions Google Ads, Meta et GA4, les webhooks, les postbacks et l’API REST font partie du module Réservation de tables à partir de 29 € par mois et du module Rendez-vous à partir de 39 € par mois, par établissement, avec un essai gratuit de 14 jours et sans carte bancaire pour commencer.

TapTime peut-il transmettre les commandes et les inscriptions au programme de fidélité comme conversions ?

Oui. Dans la section « Que transmettre » de chaque connexion, activez les commandes des clients (envoyées comme achat avec valeur et articles : purchase GA4, Purchase Meta, ou une seconde action de conversion Google Ads) et les nouveaux membres fidélité (sign_up GA4, CompleteRegistration Meta). Chacun est envoyé une seule fois par commande et une seule fois par membre et par programme. Les ventes enregistrées en caisse ne sont jamais transmises.

Comment recevoir les nouvelles réservations et commandes dans Telegram ou Slack ?

Ouvrez Intégrations → Notifications, choisissez la messagerie, collez le jeton du bot (Telegram) ou l’URL du webhook (Slack, Teams, Google Chat, Discord, Mattermost), sélectionnez les événements et la langue, puis appuyez sur Envoyer un test. Dès lors, chaque événement choisi arrive sous forme de message court avec un lien vers le panneau de gestion. L’adresse et le jeton sont conservés chiffrés.

TapTime fonctionne-t-il avec Zapier, Make, n8n et Pipedream ?

Oui, sans aucun plugin à installer. Créez un catch hook dans la plateforme, collez son URL dans Intégrations → Automatisation, choisissez les événements et appuyez sur Envoyer un test pour que la plateforme apprenne les champs. Chaque événement de réservation, de commande et de fidélité déclenche alors votre workflow, signé comme nos webhooks. Les applications peuvent aussi s’abonner elles-mêmes via POST /v1/company/webhooks.

Donnez à vos publicités le seul signal qui compte : la réservation.

Connectez Google Ads, Meta, TikTok, Microsoft Ads et GA4 en dix minutes, ajoutez un webhook pour votre CRM et regardez le journal de livraison se remplir. Gratuit pendant 14 jours, sans carte bancaire, résiliable à tout moment.

14 jours gratuits Sans carte bancaire Résiliable à tout moment

Suivez les réservations comme conversions Essai gratuit de 14 jours