Skip to main content

Transformer les données WiFi des invités en déclencheurs d'automatisation marketing

Ce guide de référence propose un manuel technique pour convertir les données brutes du WiFi invité en déclencheurs d'automatisation marketing basés sur des événements. Il couvre l'architecture complète — de la capture de données du Captive Portal et des règles LogicFlow à l'envoi de webhooks et à l'intégration CRM — avec des scénarios de mise en œuvre réels pour l'hôtellerie et le commerce de détail. Les équipes IT et les spécialistes de l'automatisation marketing repartiront avec un cadre concret et déployable pour la création de campagnes basées sur la présence, incluant des flux de bienvenue, des offres basées sur le temps de présence et des campagnes de reconquête de visiteurs inactifs.

📖 8 min de lecture📝 1,858 mots🔧 2 exemples3 questions📚 10 termes clés

🎧 Écouter ce guide

Voir la transcription
Welcome to this technical briefing from Purple. I'm going to walk you through one of the most underutilised capabilities in enterprise venue technology: turning raw guest WiFi data into event-driven marketing automation triggers. If you're an IT manager, a CRM specialist, or a venue operations director, this is directly relevant to decisions you're likely making this quarter. So let's get into it. First, the context. Traditional marketing automation relies on digital interactions: website visits, email clicks, app opens. But for physical venues — hotels, retail chains, stadiums, conference centres — the most critical customer interaction isn't digital. It's physical. When a guest walks through the door, connects to the WiFi, or spends 45 minutes in a specific zone, those are high-value behavioural signals. And right now, most venues are collecting them and doing absolutely nothing with them. The opportunity here is significant. By mapping network events to customer lifecycle stages and connecting them to your marketing stack via webhooks, you can trigger highly relevant, timely communications that outperform batch-and-blast campaigns by a considerable margin. So, how does this actually work? Let's go through the technical architecture. It starts at the data capture layer. When a device connects to the network, two things happen simultaneously. First, the access point logs a presence event, capturing the device's MAC address and a timestamp. Second, if the user authenticates through a captive portal, you capture their identity — typically an email address or phone number — along with their marketing consent. That consent capture is non-negotiable. Under GDPR and CCPA, you cannot trigger marketing communications without explicit opt-in, so the portal configuration must be airtight. Now, the presence data and the identity data are two distinct streams, and understanding the difference is critical. Presence data tells you that a device is in the venue. Identity data tells you who that person is. The power comes from combining them. Once the data is captured, it flows into a rules engine. In Purple's platform, this is called LogicFlow. LogicFlow evaluates incoming network events against a set of predefined conditions. For example: Condition equals Session Start, Qualifier equals First visit AND marketing consent equals True, Action equals POST webhook to CRM after a 15-minute delay. This declarative model allows marketing operations teams to define trigger logic without requiring network engineering involvement for every campaign change. When a condition is matched, the webhook dispatcher sends a structured JSON payload to the configured endpoint. The payload includes the user's unique identifier, the event type, the venue identifier, the event timestamp, and any relevant contextual data such as dwell duration or visit count. The receiving system — whether Salesforce, HubSpot, Klaviyo, or a custom CDP — then executes the corresponding automation flow. Let me walk through a concrete implementation scenario. A 200-room hotel wants to send a personalised welcome email with a spa discount 15 minutes after a guest authenticates on the WiFi for the first time during their stay. Here's how you build it. Step one: configure the captive portal to capture email and marketing consent. Step two: in LogicFlow, create a rule with the condition First Authentication and a 15-minute delay. Step three: configure the webhook to POST the user's email, name, and venue ID to the CRM endpoint. Step four: in the CRM, create a dynamic email template that triggers upon receiving the webhook payload, inserting the specific spa offer for that property. The key architectural decision here is placing the delay at the network layer, not the CRM layer. This reduces unnecessary API calls and ensures the trigger only fires once per user, per stay. Now let's look at a retail scenario. A fashion chain wants to send a We miss you SMS to loyalty members who haven't visited any of their stores in over 90 days. The WiFi platform's lapsed visitor logic is purpose-built for this. The rule identifies devices associated with a known loyalty profile that have not registered a presence event for 90 days. When the threshold is crossed, a webhook fires to the SMS gateway with the user's phone number and a unique discount code. The CRM record is updated to reflect that the win-back campaign has been triggered, preventing duplicate sends. This scenario illustrates an important point: the value of passive presence data. The user doesn't need to actively connect to the WiFi again. The system evaluates absence across the entire estate and fires the trigger when the inactivity threshold is crossed. Let's talk about the pitfalls, because there are several that can undermine an otherwise well-designed implementation. The most common mistake is over-messaging. If a guest connects to your WiFi daily, they absolutely should not receive a welcome email every morning. The solution is twofold. First, configure your LogicFlow rules to trigger on state changes, not continuous presence. A webhook should fire when a user transitions from Not Present to Present, not every time an AP detects their device. Second, implement frequency capping at the CRM level. A single user should only receive a given campaign type once within a defined period. The second major pitfall is MAC address randomisation. Modern mobile operating systems — iOS and Android — now randomise the device's MAC address to prevent tracking. This means the MAC address you see today may be completely different from the one you saw last week, even for the same device. If your architecture relies on the MAC address as the primary identifier for long-term tracking, you will see a significant drop in repeat visitor identification. The fix is straightforward: rely on the authenticated identity captured at the captive portal — the email address or phone number — as your primary CRM key. The third pitfall is payload schema mismatch. When the WiFi platform sends a webhook, the receiving CRM must understand the data structure. Mismatches in field names, data types, or encoding can cause silent failures where the webhook is received but the automation doesn't trigger. Always validate your payload schema during the integration phase and implement monitoring on both the sending and receiving ends. Now, a rapid-fire Q&A on the questions I hear most often. Question: How do we prevent API rate limits from being exceeded? Answer: Trigger on state changes, not continuous presence. Implement exponential backoff in your retry logic, and use a dead-letter queue to capture any payloads that fail to deliver. Question: Can we trigger location-specific offers? Answer: Yes. Configure your LogicFlow rules to evaluate the specific access point or zone where the event occurred. This allows you to send a coffee shop offer when a user is detected near the café, and a retail offer when they're in the clothing section. Question: How do we handle multi-venue deployments? Answer: Include the venue ID in every webhook payload and use it as a routing parameter in your CRM to ensure the correct template and offer are applied. Question: What about healthcare environments? Answer: For venues like hospitals, the same architecture applies, but the use cases shift from commercial marketing to operational communications — wayfinding, appointment reminders, and patient information. The privacy governance requirements are also significantly more stringent, so ensure your data handling aligns with applicable healthcare regulations in your jurisdiction. To summarise, the key takeaways from this briefing are as follows. Guest WiFi infrastructure is a powerful, often untapped source of first-party data. Captive portals capture identity and consent; access points track presence and dwell time. LogicFlow rules evaluate network events in real-time to trigger relevant actions. Webhooks provide the connective tissue between the WiFi platform and your marketing stack. Implement frequency capping and trigger on state changes to avoid over-messaging. Adapt your architecture to account for MAC randomisation by relying on authenticated identity. And measure your success through trigger-to-open rates, offer redemption rates, and win-back conversion metrics. The next steps for your team are clear. Audit your current captive portal configuration to ensure consent capture is properly implemented. Map your existing customer lifecycle stages to specific network events. And engage your CRM team to define the webhook endpoints and automation flows you want to build. If you want to go deeper on the ROI measurement framework, I'd recommend reviewing the Purple guide on measuring return on investment from guest WiFi — it provides a structured approach for presenting the business case to your CFO or CMO. Thank you for your time. This has been a Purple technical briefing.

Résumé Exécutif

Pour les établissements d'entreprise, le WiFi invité n'est plus seulement un centre de coûts de connectivité ; il constitue la couche de données fondamentale pour l'ensemble du cycle de vie client. Lorsqu'elle est correctement configurée, l'infrastructure des points d'accès capture des données précises de présence, de temps de présence et de retour qui peuvent déclencher des flux de travail d'automatisation marketing très ciblés. Ce guide décrit l'architecture technique nécessaire pour transformer les événements réseau bruts — y compris les poignées de main d'authentification 802.11 et les connexions au Captive Portal — en déclencheurs CRM exploitables. En tirant parti des intégrations Guest WiFi et webhook, les équipes IT et marketing peuvent déployer des campagnes basées sur des événements — des offres en temps réel basées sur le temps de présence aux reconquêtes de visiteurs inactifs — sans compromettre les performances du réseau ou la conformité en matière de confidentialité des données. Le résultat est une augmentation mesurable de la pertinence des campagnes, des taux de conversion et de la valeur vie client, le tout alimenté par une infrastructure que vous possédez déjà.

header_image.png


Approfondissement Technique

La transformation des événements WiFi en déclencheurs d'automatisation marketing repose sur une architecture en couches qui relie l'infrastructure réseau et la pile marketing. Comprendre chaque couche est essentiel avant de commencer tout travail d'intégration.

La Couche de Capture de Données

Lorsqu'un appareil entre dans un établissement et se connecte au réseau WiFi, deux flux de données distincts sont générés simultanément. Le premier est la donnée de présence : le point d'accès enregistre une requête de sonde ou un événement d'association, capturant l'adresse MAC de l'appareil, la force du signal (RSSI) et un horodatage précis. Ce flux est passif et continu — il ne nécessite aucune action de la part de l'invité. Le second est la donnée d'identité : lorsque l'invité s'authentifie via le Captive Portal, la plateforme capture son identité déclarée (adresse e-mail ou numéro de téléphone), son profil démographique si collecté, et, de manière critique, son consentement marketing explicite.

Pour les établissements du Commerce de Détail ou de l' Hôtellerie , cette approche à double flux offre une vue déterministe du comportement client qu'aucun autre canal ne peut reproduire. Le Captive Portal sert de point d'ingestion principal pour les données de première partie, et sa configuration doit être traitée comme un composant critique pour la conformité. Selon le GDPR, le consentement doit être donné librement, spécifiquement, en connaissance de cause et sans ambiguïté. Selon le CCPA, les utilisateurs doivent avoir le droit de se désinscrire. Consultez le guide CCPA vs GDPR : Conformité Globale en Matière de Confidentialité pour les Données WiFi des Invités pour les exigences de configuration détaillées.

Traitement des Événements et Moteur LogicFlow

Les événements réseau bruts ne sont pas directement exploitables. Ils doivent être normalisés, évalués par rapport à des règles prédéfinies et traduits en déclencheurs significatifs pour l'entreprise. Le moteur LogicFlow de Purple agit comme cette couche intermédiaire. Il ingère le flux d'événements des points d'accès et du Captive Portal, évalue chaque événement par rapport à un ensemble de règles et détermine si une condition de déclenchement a été remplie.

Une règle LogicFlow est composée de trois éléments : une condition (l'événement ou l'état du réseau), un qualifiant (paramètres supplémentaires tels que le nombre de visites, la durée de présence ou le nombre de jours depuis la dernière visite) et une action (généralement un envoi de webhook). Par exemple : Condition = 'Début de Session', Qualifiant = 'Première visite ET consentement marketing = Vrai', Action = 'POST webhook vers CRM après un délai de 15 minutes'. Ce modèle déclaratif permet aux équipes d'opérations marketing de définir la logique de déclenchement sans nécessiter l'implication de l'ingénierie réseau pour chaque modification de campagne.

Envoi de Webhook et Intégration CRM

Lorsqu'une règle LogicFlow est respectée, le dispatcher de webhook envoie une charge utile JSON structurée au point de terminaison configuré. La charge utile doit inclure, au minimum : l'identifiant unique de l'utilisateur (e-mail ou téléphone), le type d'événement, l'identifiant de l'établissement, l'horodatage de l'événement et toute donnée contextuelle pertinente telle que la durée de présence ou le nombre de visites. Le système récepteur — qu'il s'agisse de Salesforce, HubSpot, Klaviyo ou d'un CDP personnalisé — exécute ensuite le flux d'automatisation correspondant.

webhook_architecture_diagram.png

La plateforme WiFi Analytics fournit la couche d'observabilité, permettant aux équipes de surveiller les volumes d'événements, les taux de déclenchement et les métriques de succès de livraison dans un tableau de bord unifié. Ceci est essentiel pour diagnostiquer les problèmes d'intégration et optimiser les seuils de déclenchement.


Guide d'Implémentation

Le déploiement d'un flux d'automatisation marketing déclenché par le WiFi nécessite une coordination étroite entre l'ingénierie réseau et les opérations marketing. L'approche étape par étape suivante garantit une livraison fiable et une attribution précise dès le premier jour.

Étape 1 : Définir la Taxonomie des Déclencheurs

Avant de commencer toute configuration technique, mappez les événements réseau aux étapes du cycle de vie client. Cette taxonomie devient le contrat entre l'équipe réseau et l'équipe marketing. Le tableau ci-dessous fournit un point de départ standard.

Étape du Cycle de Vie Événement Réseau Condition de Déclenchement Action Recommandée
Nouveau Visiteur Début de Session Première authentification, consentement = Vrai E-mail de bienvenue + intégration au programme de fidélité
Visiteur Actif Présence Prolongée Temps de présence > 45 minutes Offre par SMS ou notification in-app
Invité Fidèle Début de Session Nombre de visites = 5 ou 10 Notification de mise à niveau du niveau de fidélité
Visiteur Inactif Absence Aucun événement de présence pendant 60 à 90 jours Campagne de reconquête par e-mail ou SMS
Visiteur Réengagé Début de Session Première visite après une campagne d'inactivité Récompense VIP ou offre personnalisée

wifi_trigger_lifecycle_diagram.png

Étape 2 : Configurer le Captive Portal

Assurez-vous que le portail collecte les champs minimaux requis : adresse e-mail (ou téléphone), case à cocher de consentement marketing, et éventuellement un identifiant de programme de fidélité. Gardez le formulaire concis — chaque champ supplémentaire réduit les taux de complétion. Configurez le portail pour qu'il transmette le drapeau de consentement à la plateforme d'analyse afin qu'il puisse être évalué par les règles LogicFlow.

Étape 3 : Construire et Tester les Règles LogicFlow

Créez des règles de manière incrémentielle, en commençant par le déclencheur de plus grande valeur (généralement la Première Connexion). Testez chaque règle dans un environnement de staging avant de la déployer en production. Vérifiez que la charge utile du webhook est correctement structurée et que le point de terminaison CRM récepteur renvoie une réponse 200 OK. Implémentez une file d'attente de lettres mortes pour capturer toute charge utile qui ne parvient pas à être livrée lors de pannes transitoires.

Étape 4 : Mapper les Champs de Données et Valider le Schéma

Alignez le schéma de données entre la plateforme WiFi et le CRM. L'identifiant unique capturé au niveau du portail doit correspondre à la clé primaire dans le CRM. Les incohérences dans les noms de champs, les types de données ou l'encodage entraînent des échecs silencieux où le webhook est reçu mais l'automatisation ne se déclenche pas. Documentez le mappage complet des champs et révisez-le chaque fois que l'un ou l'autre système est mis à jour.

Étape 5 : Déployer le Plafonnement de Fréquence

Configurez le plafonnement de fréquence au niveau du CRM pour éviter le sur-message. Définissez les fréquences d'envoi maximales par type de campagne — par exemple, un e-mail de bienvenue ne peut être envoyé qu'une seule fois par utilisateur, et une offre de temps de présence ne peut être envoyée qu'une seule fois par période de 7 jours. Cette logique doit être appliquée dans le CRM, et non uniquement dans LogicFlow, pour tenir compte des cas limites où plusieurs déclencheurs se déclenchent en succession rapide.


Bonnes Pratiques

Les recommandations suivantes sont tirées de déploiements dans les secteurs de l'hôtellerie, du commerce de détail et du Transport et représentent la norme industrielle actuelle pour l'automatisation du marketing basée sur la présence.

Déclencher sur un Changement d'État, Pas sur une Présence Continue. L'erreur architecturale la plus courante est de configurer des règles pour évaluer la présence à chaque battement de cœur de point d'accès. Cela inonde le moteur de règles et génère des appels API excessifs au CRM. Les règles doivent évaluer les transitions d'état : de 'Non Présent' à 'Présent', de 'Actif' à 'Inactif', ou de 'Anonyme' à 'Identifié'. Cette approche réduit la charge du système et garantit que chaque déclencheur est significatif.

S'appuyer sur l'Identité Authentifiée pour le Suivi à Long Terme. Les systèmes d'exploitation mobiles modernes utilisent la randomisation d'adresses MAC pour protéger la confidentialité des utilisateurs. iOS a randomisé les adresses MAC depuis iOS 14, et Android a suivi à partir de la version 10. Toute architecture qui repose sur l'adresse MAC matérielle comme identifiant CRM principal connaîtra une dégradation significative de l'identification des visiteurs récurrents. L'identité authentifiée — e-mail ou téléphone — capturée au niveau du captive portal doit être l'identifiant canonique pour tout suivi et attribution à long terme.

Inclure le Contexte du Lieu dans Chaque Charge Utile. Pour les opérateurs multi-sites, l'identifiant du lieu est un paramètre de routage critique. Sans lui, le CRM ne peut pas déterminer quel modèle, offre ou campagne appliquer. Incluez l'ID du lieu, le nom du lieu, et éventuellement la zone ou l'étage dans chaque charge utile de webhook.

Surveiller la Santé des Webhooks en Continu. Les échecs de livraison de webhook sont silencieux par défaut. Implémentez une surveillance à la fois sur la plateforme d'envoi (alerte sur les taux d'échec de livraison supérieurs à un seuil défini) et sur le CRM récepteur (alerte sur les baisses inattendues du volume de déclencheurs entrants). Pour les déploiements Healthcare , où les communications opérationnelles peuvent être critiques pour la sécurité, cette surveillance est non négociable.

Aligner les Mises à Niveau Réseau avec les Exigences d'Intégration. Lors de la planification de la modernisation du réseau — par exemple, l'évaluation de The Core SD WAN Benefits for Modern Businesses — assurez-vous que les capacités d'analyse et de webhook de la plateforme WiFi sont incluses dans l'examen de l'architecture. Les déploiements SD-WAN peuvent affecter la latence et la fiabilité du streaming d'événements en temps réel depuis les emplacements périphériques.


Dépannage et Atténuation des Risques

Même avec une architecture robuste, des échecs d'intégration se produisent. Les modes de défaillance suivants sont les plus fréquemment rencontrés dans les déploiements en production.

Échecs de Livraison de Charge Utile. Les erreurs HTTP 4xx indiquent généralement un problème d'authentification ou de schéma avec le point de terminaison du webhook. Les erreurs HTTP 5xx indiquent un problème sur le système récepteur. Implémentez une logique de réessai avec un backoff exponentiel (premier réessai à 30 secondes, puis 2 minutes, puis 10 minutes) et acheminez les charges utiles non livrables vers une file d'attente de lettres mortes pour examen manuel.

Déclenchements de Doublons. Si un utilisateur se reconnecte au WiFi plusieurs fois en peu de temps — par exemple, en se déplaçant entre les étages dans un déploiement multi-AP — l'événement 'Début de Session' peut se déclencher plusieurs fois. Implémentez des clés d'idempotence dans la charge utile du webhook (un ID d'événement unique composé de l'identifiant utilisateur et d'un horodatage) et configurez le CRM pour dédupliquer sur cette clé.

Délais de Propagation du Drapeau de Consentement. Dans les environnements à haut débit, il peut y avoir un bref délai entre la soumission du formulaire du portail par un utilisateur et la disponibilité du drapeau de consentement pour le moteur LogicFlow. Configurez un délai minimum de 60 secondes sur tous les déclencheurs de Première Connexion pour vous assurer que le statut de consentement a été propagé avant que le webhook ne se déclenche.

Conflits d'Enregistrements de Contacts CRM. Lorsqu'un webhook crée un nouveau contact dans le CRM, il peut entrer en conflit avec un enregistrement existant si l'utilisateur a déjà interagi via un canal différent. Implémentez une stratégie de fusion dans le CRM qui priorise l'identité capturée par le WiFi et enrichit l'enregistrement existant plutôt que de créer un doublon.


ROI et Impact Commercial

Le cas d'affaires pour l'automatisation du marketing déclenchée par le WiFi est bien établi dans toutes les catégories de lieux. Les déclencheurs basés sur la présence surpassent constamment les campagnes par lots sur les métriques qui comptent le plus pour les opérateurs commerciaux.

Pour une compréhcadre complet pour quantifier et présenter ce ROI aux parties prenantes de haut niveau, consultez Mesurer le ROI du WiFi invité : Un cadre pour les CMO . Les indicateurs clés de performance à suivre sont les suivants.

KPI Description Référence typique
Taux d'ouverture des déclencheurs % d'e-mails déclenchés ouverts par les destinataires 35–55% (vs. 15–25% pour les envois groupés)
Taux de conversion des offres % d'offres déclenchées utilisées sur place 8–15% (vs. 2–4% pour les envois groupés)
Taux de reconquête % de visiteurs inactifs qui reviennent après la campagne 12–20%
Taux de capture de données % d'utilisateurs WiFi qui complètent l'inscription au portail 60–80% avec un portail optimisé
Augmentation de la fréquence de visite moyenne Augmentation des visites par client par trimestre 15–25% pour les clients inscrits au programme de fidélité

L'effet cumulatif de ces métriques est significatif. Une chaîne de magasins de 50 emplacements, chacun capturant 500 inscriptions WiFi par semaine, génère 25 000 nouveaux contacts CRM par semaine. Un taux de reconquête de 15% sur un segment inactif de 90 jours, combiné à un taux de conversion d'offres de 10% sur les déclencheurs basés sur le temps de présence, produit une augmentation de revenus mesurable et attribuable qui justifie l'investissement d'intégration en un seul trimestre.

Termes clés et définitions

LogicFlow

Purple's event rules engine that evaluates incoming network events against predefined conditions to determine whether a marketing trigger action should be executed.

IT teams configure LogicFlow to define the exact conditions under which a webhook fires, without requiring code changes to the marketing stack.

Webhook

An HTTP callback mechanism that automatically sends a structured JSON payload to a specified URL endpoint when a defined event occurs on the source system.

The primary integration mechanism for transmitting real-time WiFi presence events to CRM, email, and SMS platforms.

Captive Portal

A web-based authentication page that users must interact with before being granted access to a public WiFi network. Used to capture identity and marketing consent.

The compliance-critical touchpoint for first-party data collection. Portal configuration directly determines the quality and legality of downstream marketing triggers.

Presence Data

Network telemetry derived from wireless device probe requests and association events, indicating that a device is physically within the coverage area of an access point.

Enables passive tracking of dwell time and return visit frequency without requiring active user authentication on every visit.

MAC Address Randomisation

A privacy feature implemented in iOS (since version 14) and Android (since version 10) that periodically rotates the device's MAC address to prevent persistent tracking by network operators.

Requires all long-term customer identification and CRM matching to be based on authenticated identity (email/phone) rather than hardware device addresses.

Dwell Time

The total duration a device remains within the detectable coverage area of a venue's WiFi network during a single session.

A key trigger qualifier for in-venue offers. A dwell time threshold (e.g., 45 minutes) indicates genuine engagement and increases offer relevance and redemption rates.

First-Party Data

Customer information collected directly by the venue from the customer, with their explicit consent, through owned channels such as the captive portal.

Increasingly valuable as third-party cookies are deprecated and data privacy regulations tighten. WiFi-captured first-party data is among the highest-quality inputs available to venue operators.

Dead-Letter Queue (DLQ)

A message storage buffer that captures webhook payloads that could not be successfully delivered to the target endpoint after all retry attempts have been exhausted.

Essential for ensuring marketing triggers are not permanently lost during CRM outages or endpoint failures. DLQ contents should be reviewed and replayed once the receiving system recovers.

Idempotency Key

A unique identifier included in each webhook payload that allows the receiving system to detect and discard duplicate requests, ensuring a trigger is processed exactly once.

Critical in high-availability deployments where webhook retry logic may cause the same event to be delivered multiple times, potentially resulting in duplicate emails or SMS messages.

Frequency Capping

A constraint applied at the CRM or marketing automation layer that limits how many times a given user can receive a specific campaign type within a defined time window.

Prevents over-messaging and subscriber fatigue. Must be configured independently of the LogicFlow trigger rules, as the rules engine does not have visibility into CRM send history.

Études de cas

A 200-room hotel wants to trigger a personalised welcome email offering a spa discount 15 minutes after a guest authenticates on the guest WiFi for the first time during their stay. The hotel uses Salesforce as its CRM and Klaviyo for email delivery.

  1. Configure the captive portal to capture the guest's email address and a GDPR-compliant marketing consent checkbox. Ensure the consent flag is passed to the Purple analytics platform in real time.

  2. In LogicFlow, create a rule with the following parameters: Condition = 'Session Start', Qualifier = 'First authentication at this venue AND marketing consent = True', Delay = '15 minutes', Action = 'POST webhook to Salesforce endpoint'.

  3. Configure the webhook payload to include: user_email, user_first_name, venue_id, event_type ('first_connect'), event_timestamp, and a unique event_id for idempotency.

  4. In Salesforce, create a process builder flow that triggers on receipt of the webhook. The flow checks whether a contact record exists for the email address. If yes, it enriches the record with the WiFi visit data. If no, it creates a new contact.

  5. The Salesforce flow then triggers a Klaviyo transactional email via the Klaviyo API, passing the venue_id as a dynamic variable to select the correct spa offer template for that property.

  6. Configure a suppression list in Klaviyo to ensure the welcome email is only sent once per guest per stay (keyed on email + check-in date).

Notes de mise en œuvre : The 15-minute delay is placed at the network layer (LogicFlow) rather than the CRM layer. This is the correct architectural decision because it reduces unnecessary API calls to Salesforce — the webhook only fires once, after the delay, rather than immediately on authentication and then again after 15 minutes. The idempotency key (event_id) prevents duplicate emails if the webhook is retried due to a transient delivery failure. The suppression list in Klaviyo provides a secondary safety net against over-messaging during multi-day stays.

A fashion retail chain with 80 UK stores wants to send a 'We miss you' SMS with a 20% discount code to loyalty members who have not visited any store in over 90 days. The chain uses a custom CDP and an SMS gateway.

  1. In the Purple platform, configure a 'Lapsed Visitor' rule: Condition = 'Absence', Qualifier = 'No presence event recorded for this user across any venue in the estate for 90 consecutive days AND loyalty_member = True', Action = 'POST webhook to CDP endpoint'.

  2. The rule evaluates the absence condition daily at 02:00 UTC against the full estate's presence data. This batch evaluation approach is more efficient than real-time evaluation for absence-based triggers.

  3. The webhook payload includes: user_phone, user_email, loyalty_tier, days_since_last_visit, last_visited_venue_id, and a campaign_id.

  4. The CDP receives the payload and generates a unique discount code for the user, then passes the code and the user's phone number to the SMS gateway.

  5. The SMS gateway sends the win-back message. The CDP updates the user's record with a 'win_back_sent' flag and the send timestamp to prevent duplicate sends.

  6. When the user next connects to any store's WiFi, the 'Re-engaged Visitor' trigger fires, the CDP clears the lapsed flag, and the user is enrolled in a re-engagement nurture sequence.

Notes de mise en œuvre : This scenario demonstrates the value of estate-wide presence data aggregation. The lapsed visitor condition evaluates absence across all 80 stores, not just the user's most recently visited location. This requires the Purple platform to be configured with a unified customer view across all venue instances. The batch evaluation at 02:00 UTC is a deliberate design choice to avoid real-time processing overhead for absence-based conditions, which by definition cannot be time-critical. The re-engagement trigger on the next visit closes the attribution loop, allowing the chain to measure the direct impact of the win-back campaign on in-store visits.

Analyse de scénario

Q1. A retail client reports that their CRM is hitting API rate limits during peak trading hours on Saturdays. Investigation reveals the WiFi platform is sending thousands of webhooks per hour. The current LogicFlow rule fires every time any device is detected by an access point. How should the IT manager reconfigure the system to resolve the issue without losing marketing trigger coverage?

💡 Astuce :Consider the difference between continuous presence detection and meaningful state transitions. Also consider whether every device detection event has marketing value.

Afficher l'approche recommandée

The IT manager should reconfigure the LogicFlow rule to trigger only on state change events — specifically 'Session Start' (device transitions from Not Present to Present) and 'Session End' — rather than on every AP detection heartbeat. Additionally, a frequency cap should be applied at the rule level to ensure a single device only generates a webhook once per 24-hour period. For anonymous devices (those without an authenticated identity), webhooks should be suppressed entirely, as they cannot be actioned by the CRM. These three changes — state-change triggers, frequency capping, and identity filtering — will reduce webhook volume by an estimated 90% while preserving all commercially relevant trigger events.

Q2. A hospital trust wants to send a wayfinding SMS to outpatients when they connect to the guest WiFi, directing them to their appointment department. However, the trust has multiple buildings on the same network estate, and the wayfinding message must be specific to the building where the patient connected. How is this achieved architecturally?

💡 Astuce :Think about how physical location is represented within the WiFi platform's data model and how it can be included in the webhook payload.

Afficher l'approche recommandée

The solution requires zone-based trigger configuration. Each building's access points must be assigned to a named zone within the Purple platform (e.g., 'Main Hospital', 'Outpatients Wing', 'Oncology Centre'). The LogicFlow rule is configured to evaluate the zone of the authenticating access point and include the zone identifier in the webhook payload. The SMS gateway or CRM then uses the zone identifier to select the appropriate wayfinding message template for that building. This approach ensures the SMS is contextually accurate regardless of which building the patient enters first. For a healthcare deployment, the IT team should also ensure the trigger only fires for users who have authenticated (not anonymous presence) and that the data handling complies with applicable healthcare data regulations.

Q3. Following an iOS 17 update rolled out across a venue's visitor base, the marketing team reports a significant drop in repeat visitor identification, causing loyalty tier upgrade triggers to stop firing for a large segment of their customer base. What is the technical root cause, and what architectural changes are required to restore accurate repeat visitor tracking?

💡 Astuce :Consider what changed in iOS 17's networking behaviour and which identifier the current architecture relies upon for repeat visitor recognition.

Afficher l'approche recommandée

The root cause is MAC address randomisation. iOS 17 introduced per-network MAC randomisation, meaning the device presents a unique, randomised MAC address for each WiFi network it connects to, even if it has connected to that network before. Any architecture that uses the MAC address as the primary identifier for repeat visitor recognition will fail to match the returning device to the existing CRM record. The required architectural change is to shift the primary identifier from the MAC address to the authenticated identity captured at the captive portal — specifically the email address or phone number. The CRM must be updated to use this authenticated identity as the canonical customer key. For users who have previously been tracked by MAC address only, a re-authentication campaign (prompting users to log in via the portal again) will be required to re-establish the identity link. Going forward, the MAC address should be used only for session-level analytics within a single visit, not for cross-visit customer recognition.

Points clés à retenir

  • Guest WiFi infrastructure generates two distinct and complementary data streams: presence data (from access points) and identity data (from the captive portal). Both are required for effective marketing automation.
  • LogicFlow rules should evaluate state transitions — not continuous presence — to prevent API rate limit issues and ensure every trigger is commercially meaningful.
  • MAC address randomisation in iOS 14+ and Android 10+ makes hardware device addresses unreliable for long-term customer identification. Authenticated email or phone must be the canonical CRM key.
  • Webhook payloads must include venue context (venue ID, zone, timestamp) to enable accurate routing and personalisation in multi-venue deployments.
  • Frequency capping must be enforced at the CRM level, not solely in the rules engine, to prevent over-messaging when multiple triggers fire in close succession.
  • Dead-letter queues and idempotency keys are non-negotiable in production deployments to ensure trigger reliability and prevent duplicate communications.
  • The compounding ROI of presence-based triggers — higher open rates, redemption rates, and win-back conversions — typically justifies the integration investment within a single quarter for estate-scale deployments.