Einwilligung

Das Snippet setzt ein Cookie mit einer zufälligen Besucher-ID, sobald es läuft. Ob und wann es läuft, entscheidet dein Consent-Tool — nicht Abvantage.

Der normale Weg: dein Consent-Tool hält das Skript zurück

In aller Regel musst du dafür nichts am Snippet ändern. Einwilligungswerkzeuge erkennen fremde Skripte selbst und laden sie erst nach der Zustimmung — und was nicht geladen wird, kann kein Cookie setzen.

Im Google Tag Manager hängst du das Snippet als Custom-HTML-Tag an einen Trigger, der erst nach der Zustimmung feuert. Bei Usercentrics, Cookiebot und ähnlichen übernimmt das die automatische Blockierung; nur wenn du sie abgeschaltet hast, musst du das Tag von Hand einer Kategorie zuordnen — wie, steht in deren Dokumentation.

Welche Kategorie die richtige ist — Statistik, Marketing, Präferenzen — entscheidet dein Datenschutzhinweis, nicht wir. A/B-Testing wird meist unter Statistik geführt.

Der andere Weg: das Snippet wartet selbst

Kannst du das Skript nicht zurückhalten — etwa weil es fest im Theme steht — gibt es ein Attribut. Damit legt das Snippet nichts ab und meldet nichts, bis du es freigibst:

<script
  src="https://www.abvantage.io/ab.js"
  data-key="pk_…"
  data-consent="required"
></script>

Freigabe aus deinem Banner

meinBanner.on("accept", function () {
  if (window.ab) ab.consent(true);
});

Lädt dein Banner nach dem Snippet, gibt es ab vielleicht noch nicht. Dann hilft die Warteschlange:

window.abq = window.abq || [];
abq.push(["consent", true]);

Mit data-consent="shopify" brauchst du gar keinen Code: Das Snippet fragt Shopifys Customer-Privacy-API selbst und hört auf deren Ereignis.

Ohne die Freigabe läuft dann kein Experiment — lautlos. Bau den Aufruf ein, bevor du das Attribut setzt.

Was „wartet“ genau heißt

Solange die Freigabe aussteht, passiert nichts davon:

kein Cookie          _abv_vid wird nicht gesetzt
kein Speicher        nichts im localStorage
keine Anfrage        die Konfiguration wird nicht geholt
keine Zuweisung      ab.variant() gibt null zurück
keine Meldung        auch ab.track() bleibt wirkungslos

Die Besucher-ID entsteht zwar im Arbeitsspeicher, wird aber nirgends abgelegt — sie ist mit dem Seitenaufruf vorbei. Erst mit der Freigabe wird sie festgehalten.

Was das für deine Zahlen heißt

Wer nicht zustimmt, taucht nirgends auf — weder als Besucher noch als Conversion. Erschrick also nicht, wenn die Besucherzahl unter der deines Analyse-Tools liegt.

Auf die Aussagekraft wirkt es sich nicht aus, solange die Zustimmung nicht von der Variante abhängt. Das tut sie nicht: Vor der Zustimmung wird gar keine Variante zugewiesen.

Der Checkout ist eine eigene Baustelle

Das Shopify-Pixel hängt an Shopifys Datenschutzeinstellungen. Dort legst du fest, ob Kaufereignisse ohne Einwilligung erfasst werden dürfen — das Snippet im Theme hat darauf keinen Einfluss.

Prüfen

ab.needsConsent();   // true = das Snippet wartet
ab.consent(true);    // von Hand freigeben
ab.diagnose();       // zeigt einwilligung: true | false | null

null heißt: Dieses Snippet wartet auf nichts — es läuft sofort.

Weiter