Opt-in like a BOSS

bus_ticket_of_nepal_transport_service

Máme 25. května, krásný to den. Někdo má přes rameno ručník na připomínku Stopařova průvodce po galaxii, někdo si váže oprátku kvůli GDPR, někdo pálí databáze, další sepisují litánie o cookies a někdo vymýšlí jak uspokojit uživatele volbou opt-in k trackování.

Přijde mi to fascinující, že stále nikdo vlastně neví, jak se ke GDPR postavit. Ale neplačte. Pokud se chcete vydat cestou, jako třeba skoda-auto.cz, tedy striktním opt-in řešením, mám pro vás nápovědu.

Opt-in a opt-out jsou v současné době často zmiňované pojmy související se zahrnutím uživatele internetu do trackování, či o jeho vyloučení z trackování. Největší popularitu tomuto tématu přinesl zvoraný zákon o cookies, díky kterému i moje babička ví, že jí špehujou. Jak se věci mají formálně si můžete přečíst třeba vzhůrudolů.cz či s lupou. My se podíváme, jak to řešit na straně TagManagerů či vlastních trackerů a také se podíváme, jaké typy opt-in/out řešení známe a kdo a jak je používá.

Opt-in (přihlášení)

Abych byl trackován (analytika, reklama) či mi byla poskytována služba (newsletter), musí uživatel NĚCO provést, tedy musí vyvinout nějakou, byť elementární, aktivitu.

Opt-in – loose

Uživatel je trackovám až po té, co začně službu používat. Má mít tedy možnost nebýt trackován, pokud se rozhodne službu nepoužívat. Souhlas k trackování je vyjádřen používáním služby.

Příklad: optimics.cz

Dopad na data to má dvojí.

  1. Asi 85% uživatelů na výzvu reaguje. Přijdete tedy asi o 15% údajů o užívání webu (což někteří lidé nesou těžko, když analytika nesedí 1:1 se server logy)
  2. Přijdete o data z hloupých robotů, takže máte sice méně dat, ale zato kvalitnějších. Takže pokud chcete dělat nějaké závěry ze svého webu, pak je to rozhodně super.

Ukázka z experimentu – zapnutý opt-in

opt-in-enabled

Ukázka z experimentu – vypnutý opt-in (klasika)

opt-in-disabled

  • Users: 106 vs 124 => 85% proteklo dále
  • Pages: 193 vs 237 => 82% zaznamenáno
  • Sessions: 125 vs 140 => 89% přežilo
  • Čas na stránce se zvýšil, klesl nám bounce-rate a new sessions: to napovídá těm robotům a lidem, co stejně hned vypadnou

Opt-in je super, uživatel má možnost se rozhodnout zda býti trackován a data se sama předfiltrují.

Pod kapotou opt-in řešení:

Takto komunikuje optimicsí tracker s console-logem, když od uživatele nepřišel signál povolující trackování. Signály v trackeru probíhají, ale jsou pozdrženy do doby, dokud nedostanou povolení od uživatele. Asi jako když přijedete autem na světelnou křižovatku a čekáte na zelenou.

optimics_tracker_opt-in

A bum, prásk, padla zelená!

optimics_tracker_opt-in-enabled

A takhle vypadá část scriptu, co je za to zodpovědná.

// verify tracker config against strict opt-in policy
function enableTracking(){
	// ask tracker is is interball enabled
	if(typeof(lib.internal.allowTracking) != "undefined" && lib.internal.allowTracking === true){
		lib.notify.log("Tracking is internally allowed!");
		return true;
	}
	// check for initial signal
	else if(me == "allowTracking"){
		lib.notify.log("Tracking is now allowed!");					
		lib.internal.allowTracking = true;
		return true;
	}
	// check for cookie
	else if(lib.cookie.get("personalization_cookie")==1){
		lib.notify.log("Tracking is allowed!");
		lib.internal.allowTracking = true;
		return true;
	}

	// cancel signal
	lib.notify.log("Tracking is not allowed!");
	return false;
}

// allow or cancel event
if(!enableTracking()){
	lib.notify.log("Cancelling signal");
	lib.notify.log("Signal goes into temporary buffer");
	tmpDataLayer.push(message);
	lib.notify.groupEnd();
	return false;
}

/*
	Tasks after page has enabled tracking
*/

// 1 - po prvnim nacteni inicializovat trackery
initGoogleAnalytics(model);

initHotJar();

initLinkedin();

initAAM();

// 2 - reprocess postponed signals
if(me == "allowTracking"){
	collectTrafficVariables();
	tmpDataLayer.reprocessTo(trackAnalytics);
	lib.notify.groupEnd();
	return false;
}

// 3 - duplicate data into GTM dataLayer
window.dataLayer.push(message);

Opt-in – strict

Uživatel musí dát explicitní souhlas s trackováním. Znamená to tedy, že veškerý tracking se spustí až v momentě, kdy uživatel vysloveně klikne na tlačítko Pokračovat. Do té doby jsou všechny údaje o trackování zahazovány.

Příklad: skoda-auto.cz

Jedná se o velmi přísný způsob přístupu a není ve většině zemí světa právně vyžadován. Přístup Škody Auto je tedy velmi pro-aktivní směrem k soukromí uživatelů.

skoda-optin-buttons

V praxi to funguje následovně.

V Google Tag Manageru je speciální TAG jménem EnableTracking Commander, což je komponenta, kterou jsem napsal, není to tedy standardizované řešení, jelikož zatím takové neexistuje.

Web normálně emituje signály do dataLayer, tedy pageview, scroll tracking, click eventy a dále. Enable tracking tedy nijak nezatěžuje implementaci eventů na webu, pracuje tedy jen v rámci GTM. To co dělá je stornování signálů při přenosu z GTM do např. Google Analytics, či jiného nástroje. Zároveň si uchovává lokální kopii signálu v JavaScriptu pro případ, že uživatel tracking povolí.

V momentě, kdy EnableTrackign Commander získá povolení od uživatele k trackování, provede dvě akce.

  1. nastaví interní pravidla povolující trackování pro ostatní nástroje a uloží cookie že je enableTracking
  2. reprocesuje doposud zaslaná data do dataLayer aby se vykonala tak, jak byla originálně zaslána. Zachovají se tak data např. o kampaních, která pro nás mívají většinou velikou cenu.

skoda_tracking_enabled

Opt-out (odhlášení)

Uživatel je nejdříve trackován a pokud si dá tu práci a někde se odhlásí či něco přepne, pak je pozastaveno jeho trackování (či poskytování služby). Opt-outovat se můžete jednak z automatického trackingu (např. z některých reklamních systémů), tak i z dříve vámi vyžádaných služeb, třeba z newsletteru, když už začně být nudný.

Opt-out – trapný

Někde musíte složitě dohledávat, jak se opt-outovat. Typicky na nějaké zašité stránce (třeba HotJar,Google,Adobe), nebo si k tomu musíte sehnat či napsat vlastní script (Ghostery), zapnout anonymní okno (Firefox, Safari, Brave) či invalidovat SSL certifikáty trackovacích společností (proxy server). Rozhodně to nejsou techniky pohodlné pro uživatele.

Opt-out – nemožný

  • správce trackeru se na tuto možnost prostě úplně vydlábnul (většina menších webů, třeba ceskytunak.cz)
  • tracker je tak šikovně schovaný či integrovaný do aplikace, že s bídou zjistíte, že jste trackováni (custom trackery na vlastních doménách)
  • opt-out je rozbitý (třeba AdForm se zaplým AdBlockem)
  • opt-out je falešný

Opt-out – frajerský

  • web nejen že vás přestane dále sledovat, ale ještě reálně smaže vaše nasbíraná data (Optimics a Linked In data)
  • tracker se snaží respektovat DoNotTrack hlavičky, či se snaží vycítit, že by mohl být na citlivých stránkách a sám se upozadí (některé trackery v bankách, třeba u internetového bankovnictví)
  • tracker netrackuje v anonymním okně sám od sebe, ne že by mu to nešlo kvůli blokacím (CPEX díky pixel.cpex.cz)

Jak že to dělá ten CPEX?

CzechPublisherExchange je česká exchange platforma pro výměnu kvalitních a dobře udělaných reklamních segmentů (žádný vložky, ale pořádný káry). Pokud chcete mít dobré segmenty, potřebujete lidi. Pokud budete lidi sr** (rmoutit), vypnou vás. Co když na ně ale budete slušní a budete respektovat třeba to, že jsou v anonymním okně?

Jak ale anonymní okno detekovat? Dost těžko. Ono vám to totiž samo nijak neřekne. Takže přichází na řadu meta-detekce. Co to je?

Stanovíme si např. archetyp uživatele anonymního okna. Ten je v případě CPEX takový, že anonymní okno není starší než 24 hodin. Je to fér? Nechám posoudit vás.

Pokud tedy tracker zjistí, že je v okně, kde ještě nebyl použit déle než 24 hodin, tak se vypne. K tomu mu slouží jen rychlý odpovídač, tedy server, který říká přes JSONP: jseš ID 87865414 a znám tě od 14327456324.

opt-in-cpex-disbaled-tracking-highlighted

No a když se známe déle, pak začneme sbírat data. Uvnitř trackeru to pak vypadá takto:

opt-in-cpex-enabled-tracking-highlighted

A to je téměř vše.

Odstrašující případ – Tracker Colpirio

Existují případy trackerů, které je těžké zapomenout…

Závěr

Opt-out by měla být integrální součást každého trackeru/služby.

Opt-in by měl být přítomný alespoň ve své loose formě.

Nakládání s daty by mělo být transparentní.

Tento článek jsem psal v roce 2016, ale zapomněl jsem ho publikovat, tak jej publikuji slavnostně dnes, ke dni vstupu platnosti GDPR.