Une visite marketing est enregistrée directement à la périphérie, transmise entre les sessions et associée à une conversion qui arrive de manière asynchrone dans une file d'attente de messages. Elle est ensuite rapprochée selon un calendrier pour détecter ce que le chemin en direct a manqué. C'est notre code, donc si un chiffre ne correspond pas, nous pouvons en comprendre la raison.
| Mesure | Valeur | Source | Mesurées |
|---|---|---|---|
| Composants d'attribution écrits et exploités | Ingest controller, ingest worker, conversion consumer, scoreboard service, reconciliation job | marketing package in the media service source tree | |
| Où l'identifiant du visiteur est défini | First-party, by edge middleware on the site's own domain | marketing tracking implementation in the marketing site and media service | |
| Hébergement de Analytics | Self-hosted on our own cluster | kubectl get deployments -n kamo | |
| Mécanisme de prestation de conversion | Message queue consumer with a scheduled reconciliation pass | marketing conversion consumer and reconcile job |
Quel bâtiment il nous a appris
L’arrangement habituel est qu’une agence colle un extrait de gestionnaire de balises, et à partir de là, chaque question sur les données se termine sur un tableau de bord que l’une ou l’autre partie ne contrôle pas. Les cookies tiers sont supprimés, les bloqueurs de publicité en suppriment davantage, et l’écart entre ce qui s’est passé et ce qui a été enregistré se creuse chaque année.
L'identifiant de visite est défini par un intergiciel de périphérie sur notre propre domaine plutôt que par un script provenant de celui d'un tiers. L'attribution survit à la fin de la session. Les conversions sont publiées en tant qu'événements et consommées par un worker plutôt que comptées en ligne, ce qui signifie qu'un chemin de conversion lent ne peut pas ralentir un client et qu'un message perdu peut être récupéré.
Il existe un mécanisme d’auto-exclusion pour que les membres de notre personnel qui naviguent sur le site n’apparaissent pas dans les chiffres de marketing, et il doit activement supprimer le cookie du visiteur plutôt que de simplement arrêter l’enregistrement, ou la visite qui a déjà été enregistrée reste dans les données. Les chiffres en rouleau sont calculés à tout moment, tandis que les chiffres en fenêtre sont calculés à partir des lignes sous-jacentes, car les deux ne sont pas d’accord et faire semblant d’être autrement produit un tableau de bord qui ne peut pas être réconcilié avec ses propres détails. Ce sont les genres de choses qui rendent un tableau de bord digne de confiance, et ils sont invisibles de l'extérieur.
Analytics est auto-hébergé sur le même cluster, donc les données au niveau de la page nous appartiennent également. Pour les clients, nous mettons tout cela en place dans les comptes des clients. L'essentiel est que vous soyez propriétaire de la mesure, pas que nous le soyons.
Construit avec
- NATS JetStream
- Java
- Spring Boot
- Next.js middleware
- Umami
- YugabyteDB
Ce qui nous qualifie
Dites-nous ce que vous essayez de faire
Une courte conversation est généralement suffisante pour savoir si nous sommes les bonnes personnes, si nous ne le sommes pas, nous le dirons et vous indiquerons quelque part mieux.
