Tout ce qu'il faut créer, installer et vérifier avant le premier euro dépensé. Chaque ligne précise qui la fait, où elle se fait, et comment on contrôle qu'elle est réellement faite.
Point de départ
Avant de dérouler la liste, voici l'état réel des domaines, vérifiable par n'importe qui en trente secondes. Ce n'est pas un reproche : c'est le point de départ, et il change l'ordre des priorités.
DEPLOYMENT_DISABLED. C'est la réponse type d'un compte suspendu pour motif de facturation. Le site existe donc quelque part, mais il n'est plus servi.google-site-verification est déjà posé sur le domaine, et un SPF Google est configuré. Cela prouve deux choses utiles : quelqu'un a la main sur la zone DNS, et la Search Console est déjà validée. L'étape A5 sera donc rapide.Une campagne à l'objectif trafic envoie des gens quelque part. Tant que ce « quelque part » n'existe pas, aucun euro ne peut être dépensé — on paierait pour envoyer des visiteurs sur une page d'erreur, et les régies elles-mêmes refusent les annonces dont l'URL de destination ne répond pas.
Le tracking, lui, ne peut pas non plus s'installer sur un site qui n'est pas servi. La phase B est donc le vrai goulot d'étranglement, et elle ne dépend pas de nous.
La création des comptes, le partage des accès et même la vérification du domaine ne réclament pas que le site soit en ligne : la vérification Meta passe par un enregistrement DNS, pas par une page. Toute la phase A est faisable dès maintenant, en parallèle de la remise en ligne.
C'est important, parce que ces créations prennent du temps calendaire — un Business Manager fraîchement créé met parfois quelques jours avant d'être pleinement utilisable. Autant ne pas les découvrir le jour du lancement.
Avant de commencer
Chaque ligne de cette check-list porte une étiquette. Elles ne sont pas décoratives : elles disent si la tâche demande un développeur ou non. C'est ce qui permet de répartir le travail sans se bloquer mutuellement.
Se fait en naviguant dans une interface web, sans toucher au code. Une personne non développeuse y arrive en suivant les chemins indiqués. 13 des 22 items.
Demande d'intervenir dans le code du site et de le redéployer. Il faut quelqu'un qui a accès au dépôt. 7 items, tous concentrés en phase C.
Nous nous en chargeons dès que les accès sont partagés. Rien à faire côté Immochat, sinon nous prévenir.
Les sept items marqués DEV représentent l'essentiel de la charge réelle. Si la personne qui reçoit cette liste n'est pas celle qui écrira le code, il faut que le développeur soit identifié et mis dans la boucle dès aujourd'hui, pas au moment de la recette.
Concrètement, trois questions à trancher avant d'aller plus loin : qui écrit le code du site ? qui a accès au compte d'hébergement ? et qui peut modifier la zone DNS ? Si ce sont trois personnes différentes, il faut les réunir une fois — une demi-heure suffit et fait gagner des semaines.
Phase A
Huit manipulations, aucune ligne de code, et rien ici ne dépend de la remise en ligne. À faire en priorité, parce que certaines créations mettent quelques jours à être pleinement actives.
Rappel du principe : Immochat possède les actifs de marque, Moovizz possède les comptes d'achat et paie le média. Le détail du montage est dans la stratégie média.
Le conteneur qui détiendra la page, le pixel et le domaine. Au nom de IMMOCHAT SRL, avec l'adresse et le numéro d'entreprise de la société — pas un compte personnel.
business.facebook.com → Créer un compteÀ créer depuis le Business Manager, jamais depuis un profil personnel. Une page créée depuis un profil appartient à la personne, pas à la société : la récupérer ensuite est laborieux.
Paramètres d'entreprise → Comptes → Pages → Ajouter → Créer une pageEn compte professionnel — pas un compte personnel —, relié à la page Facebook, puis rattaché au Business Manager. C'est ce qui permet de diffuser sur les placements Instagram avec le bon nom d'annonceur.
Paramètres d'entreprise → Comptes → Comptes Instagram → AjouterIl s'agit seulement de le créer ici, pas de l'installer : l'installation sur le site est l'item C4. Le nommer « Immochat — site ». C'est lui qui accumulera l'apprentissage et les audiences, et c'est pour cela qu'il doit rester dans le Business Manager d'Immochat.
Paramètres d'entreprise → Sources de données → Datasets → AjouterNe nécessite pas que le site soit en ligne : la méthode DNS fonctionne sur un domaine sans page. Meta fournit une valeur facebook-domain-verification=… à poser en enregistrement TXT sur le domaine nu, chez Infomaniak.
Chez Infomaniak : zone DNS du domaine, nouvel enregistrement de type TXT, hôte @ (le domaine nu), valeur exactement celle fournie par Meta. Compter jusqu'à quelques heures de propagation, puis revenir cliquer sur « Vérifier ».
Le point irréversible de toute la liste. Un domaine ne peut être vérifié que dans un seul Business Manager au monde. Il doit l'être dans celui d'Immochat — jamais dans celui d'une agence, la nôtre comprise. C'est ce qui donne la main sur les événements prioritaires du domaine.
dig +short immochat.eu TXT doit faire apparaître la valeur Facebook.C'est l'étape qui nous permet de travailler. Aucun mot de passe n'est échangé : le partage se fait d'entreprise à entreprise, et il est révocable en un clic à tout moment.
Paramètres d'entreprise → Utilisateurs → Partenaires → Ajouter → « Donner un accès à des actifs à un partenaire »Identifiant du Business Manager Moovizz à saisir : 1499201627051080
Puis attribuer quatre actifs : la page Facebook (autorisation Publicités), le compte Instagram (autorisation Publicités), le dataset (autorisation Gérer le dataset), et le domaine immochat.eu.
Sur un compte Google au nom d'Immochat — une adresse générique du type contact@immochat.eu plutôt qu'un compte personnel, pour que rien ne se perde le jour où quelqu'un quitte la société.
Créer une propriété GA4 pour immochat.eu, puis un conteneur GTM de type Web. Donner ensuite à Moovizz un accès Administrateur sur GA4 et Publication sur le conteneur GTM.
G-XXXXXXX et le conteneur un identifiant GTM-XXXXXXX. Transmettre les deux au développeur : ils lui sont indispensables en phase C.En compte de marque au nom d'Immochat. Les vidéos de campagne y seront hébergées, en non répertorié si vous ne souhaitez pas les rendre publiques.
De notre côté, nous créons les comptes d'achat : un compte publicitaire Meta dédié à Immochat dans notre Business Manager, et un compte Google Ads sous notre compte administrateur, avec nos moyens de paiement. Il ne faut surtout pas les créer côté Immochat — nous devrions les défaire.
Phase B · bloquant
C'est le goulot d'étranglement. Rien de la phase C ne peut commencer tant que la production ne répond pas, et aucune diffusion ne peut démarrer sans destination.
Quatre items, dont une décision à prendre avant les trois autres.
Aujourd'hui deux hébergeurs coexistent sur le même domaine : Vercel pour www, suspendu, et Netlify pour staging, actif. Il faut décider lequel porte la production, et s'y tenir.
Les deux conviennent techniquement. Ce qui compte, c'est que le compte soit au nom de la société, payé par elle, et accessible à plus d'une personne.
L'erreur DEPLOYMENT_DISABLED sur www.immochat.eu se règle dans le compte d'hébergement, généralement en régularisant la facturation ou en repassant sous les quotas du plan.
curl -I https://www.immochat.eu doit renvoyer 200 et non 402. Sans terminal : la page s'ouvre normalement dans un navigateur, en navigation privée.immochat.eu sans le www ne mène nulle part aujourd'hui. Or c'est l'adresse que les gens tapent, celle qui figure dans les publicités et à la fin des films. Elle doit fonctionner.
Dans la zone DNS chez Infomaniak, ajouter l'enregistrement que l'hébergeur indique pour le domaine nu, et faire en sorte que les deux adresses aboutissent au même endroit — l'une redirigeant vers l'autre.
dig +short immochat.eu renvoie une adresse IP, et la page s'ouvre en tapant immochat.eu dans un navigateur.Le titre de la page affiche encore « ImmoChat », l'ancien nom de code. La marque est Immochat. Ce titre apparaît dans l'onglet du navigateur, dans les résultats de recherche et dans les aperçus de partage — donc dans tout ce que verront les visiteurs de la campagne.
og:title et og:image, portent la bonne orthographe et une image à jour.Phase C · développement
La vraie charge de travail, et la seule qui demande un développeur de bout en bout. L'ordre compte : le consentement doit être en place avant tout autre tag, sinon on collecte des données sans base légale dès la première visite.
Sept items, dans cet ordre. La spécification détaillée figure dans la stratégie média.
Les deux extraits fournis par GTM, dans <head> et au début de <body>, sur toutes les pages — y compris le parcours conversationnel, qui est précisément là où se passe l'essentiel.
Attention si le site est une application monopage : le changement d'écran ne recharge pas la page, donc le page_view doit être poussé manuellement à chaque navigation. C'est l'erreur la plus fréquente sur ce type de site.
Un bandeau qui permet réellement de refuser aussi facilement que d'accepter, et qui transmet les quatre signaux : ad_storage, ad_user_data, ad_personalization, analytics_storage.
L'état par défaut doit être « refusé » et déclaré avant le déclenchement de tout autre tag. Un tag qui part avant la réponse de l'utilisateur, c'est une collecte sans base légale — et sur un site immobilier belge, c'est un risque réel, pas théorique.
Par une balise de configuration GA4 dans GTM — pas par un extrait gtag collé en dur dans le code. Passer par GTM permet de modifier la mesure sans redéployer le site à chaque ajustement.
Déclenché depuis GTM, avec l'identifiant du dataset créé en A4, et conditionné au consentement publicitaire.
PageView. Dans le gestionnaire d'événements Meta, l'outil « Événements de test » montre l'événement arriver en direct.C'est l'item le plus technique, et celui qui fait la plus grande différence sur le coût réel des campagnes. Le serveur envoie les mêmes événements que le navigateur, ce qui permet de continuer à mesurer quand le navigateur bloque les cookies tiers.
Le même event_id doit être envoyé des deux côtés, sinon chaque conversion est comptée deux fois. Transmettre également l'adresse IP, l'agent utilisateur et les cookies fbc et fbp : c'est ce qui fait monter la qualité d'appariement.
Les données personnelles — e-mail, téléphone — ne partent que hachées en SHA-256, et uniquement par le serveur.
La balise Google et la balise de remarketing Google Ads, déclenchées depuis GTM. Activer les conversions améliorées : les données propriétaires hachées compensent en partie la disparition des cookies tiers.
Le poste qui demande le plus de travail, et celui sans lequel tout le reste ne sert à rien : sans ces événements, on mesure des visites mais pas ce que les gens font. Le tableau complet est plus bas.
Jamais de donnée personnelle en clair dans le dataLayer : ni e-mail, ni nom, ni téléphone.
Phase D
Trois items. Compter une semaine entre la fin de la phase C et le premier euro.
Une session d'une heure, écran partagé : on parcourt le site ensemble et on vérifie que chaque événement part au bon moment, avec les bons paramètres, et qu'il arrive bien dans GA4 et dans Meta.
Configuration des événements prioritaires côté Meta, création des audiences de retargeting, liaison GA4 et Google Ads, import des conversions, structure des campagnes. Rien à faire côté Immochat.
Une fois D1 et D2 validés, nous fixons ensemble la date de premier débit. Prévoir 14 jours sans y toucher après le lancement : chaque modification relance la phase d'apprentissage des algorithmes et gâche le budget déjà dépensé.
Spécification · item C7
À pousser dans le dataLayer au moment exact décrit. Les noms sont normalisés pour être repris tels quels dans GTM, GA4, Meta et Google Ads — les modifier obligerait à tout reconfigurer.
| Événement | Quand le déclencher | Paramètres | Équivalent Meta |
|---|---|---|---|
| page_view | Chargement de chaque page — et à chaque changement d'écran si le site est une application monopage | page_path, page_title | PageView |
| chat_started | Premier message envoyé à l'agent conversationnel | session_id | Contact |
| chat_message_sent | Chaque message suivant | message_index | — |
| results_displayed | Affichage d'une sélection de biens | result_count, top_score | Search |
| property_viewed | Ouverture de la fiche d'un bien | property_id, match_score | ViewContent |
| sign_up | Compte créé et confirmé | method (sso / email) | CompleteRegistration |
Exemple d'implémentation, à adapter au framework de la plateforme :
// Au premier message envoyé à l'agent conversationnel
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'chat_started',
session_id: 'a3f9c1…' // identifiant de session, jamais de donnée personnelle
});
// À l'affichage d'une sélection de biens
window.dataLayer.push({
event: 'results_displayed',
result_count: 3,
top_score: 91
});
message_index mérite l'attention du développeurCet événement mesure à quel message de la conversation les gens décrochent. C'est une information produit autant que marketing : elle dira si le parcours conversationnel perd les utilisateurs au troisième ou au huitième échange, et donc où il faut le retravailler. C'est probablement la donnée la plus utile de toute la liste, et elle ne coûte presque rien à implémenter.
Autonomie
Chaque item porte sa méthode de vérification, mais quatre outils suffisent à contrôler l'essentiel en quelques minutes — sans écrire une ligne de code et sans dépendre de qui que ce soit.
Extension Chrome gratuite. Elle affiche, sur n'importe quelle page, si un pixel Meta est présent et quels événements partent. Vert : tout va bien. Rouge ou absent : rien n'est installé.
Même principe pour GTM, GA4 et Google Ads. Le mode aperçu permet de parcourir le site et de voir les événements défiler en direct.
Ouvrir le site sur son téléphone et regarder si la visite apparaît dans GA4 dans les trente secondes. Si oui, la mesure fonctionne. Si non, elle ne fonctionne pas — quoi qu'on vous dise.
Sur le site, touche F12, onglet Console, taper dataLayer puis Entrée. Une liste s'affiche : ce sont les événements réellement envoyés. Vide ou erreur : l'item C7 n'est pas fait.
Un item n'est « fait » que lorsque sa ligne Vérifier est vérifiée — pas lorsqu'il est annoncé comme fait. Ce n'est pas de la défiance : c'est que la plupart des erreurs de tracking sont invisibles, et qu'elles ne se découvrent sinon qu'après plusieurs semaines de budget dépensé pour rien.
L'avancement se suit dans la section Tracking du Brand Hub, où chacun peut cocher ce qui est fait.