Přeskočit na hlavní obsah

API pro detekci návštěvy z newsfeedu, algoritmus pro session, API pro vypnutí DOT

window._sspDoNotLoadDOT

Pokud je potřeba zakázat automatickou detekci a načítání dot-small.js, je možné nastavit do window proměnnou _sspDoNotLoadDOT, která způsobí vypnutí kontroly existence dot-small.js. Toto použití je podmíněno tím, že daná stránka zajistí načtení a zkonfigurování dot-small.js před vložením ssp.js do stránky!

Algoritmus zobrazování Seznam reklamy

Příchod a prohlížení stránek

  1. Uživatel klikne na odkaz na článek umístěný v newsfeedu na hlavní stránce Seznam.cz.
  2. Tento odkaz (URL) má na konci parametry ve tvaru ?utm_source=www.seznam.cz&utm_medium=sekce-z-internetu#dop_ab_variant=1&dop_source_zone_name=hpfeed.sznhp.box&dop_vert_ab=722020&dop_vert_id=leg0&dop_req_id=OLWKUKB4Qyw-201912030607&dop_id=22.
  3. Podle vámi preferované technologie (na serveru, nebo pomocí API v SSP skriptu) se vypne vaše reklama a zobrazí se reklama od Seznamu.
  4. Do cookie (s expirací například 30 minut) na vašich stránkách uložíte informaci o tom, že uživatel přišel z hlavní stránky Seznam.cz. Po dobu platnosti cookie se uživateli vydává výhradně reklama od Seznamu.
  5. Pokračuje-li uživatel v prohlížení stránek, prodlužuje tím platnost cookie.

Opuštění stránek a návrat

Pokud uživatel stránky opustí (například zavře panel nebo v prohlížeči zadá jiné URL) a opět se na web vrátí jinak než proklikem z hlavní stránky Seznam.cz, kontroluje se cookie:

  • cookie neexistuje – stránky se chovají standardně a zobrazují vaši vlastní reklamu
  • cookie existuje – proběhne kontrola hodnoty hostname v referreru stránky s hostname vašeho webu
  • rozdílný hostname – uživatel přišel z jiné stránky a vydává se mu vaše reklama
  • stejný hostname – uživatel přišel z jiné stránky vašeho webu a vydává se mu reklama od Seznamu

API pro detekci návštěvy z newsfeedu

K dispozici je rovněž API, které detekuje stavy, kdy se má vydat reklama od Seznamu.

Pokud je potřeba před vypsáním reklamy udělat přípravné kroky, lze zadat sssp.conf.preparePositionsCallback() funkci, která bude zavolána před vypsáním reklamy do stránky.

Ve stránce pak voláme metodu sssp.displaySeznamAds(), která vrací hodnoty true / false podle toho, zda se má, či nemá vypsat reklama od Seznamu.

<script src="https://ssp.seznam.cz/js/ssp.js"></script>
<script>
sssp.conf.preparePositionsCallback = function () {
// příkazy k provedení
};

if (sssp.displaySeznamAds()) {
// zobrazuji Seznam reklamu
sssp.getAds([{ zoneId: 1243, id: 'skyscraper' }]);
} else {
// vypsání původní reklamy, adForm, BBElements…
}
</script>

Prerekvizity pro správnou funkčnost postupu výše:

  • Zajištění dostupnosti funkcí poskytovaných objektem sssp, tj. například vložením SSP skriptu do hlavičky stránky. Upozornění: Všechna nastavení musí být provedena pomocí sssp.config(), jiné zásahy nebo výměny mohou vést k chybám.
  • Zachování parametrů v URL při první návštěvě uživatele z homepage

Session při přechodech mezi doménami

SSP – držení session při přechodech mezi doménami

  • Na konec všech odkazů na webu partnera (zařazeného do newsfeedu nebo denního tisku), které směřují na jinou doménu (patřící do portfolia tohoto partnera), je třeba doplnit parametr szn-session a jeho hodnotu označující doménu webu, odkud odkaz vede.
  • Stránka na partnerském webu musí při načtení ověřit, zda existuje UTM parametr nebo výše uvedený parametr, a v závislosti na tom nastavit session cookie i na odkazovaném webu.
  • Kód, který je ve stránce nyní a řeší nastavení a držení session v rámci jedné domény, může zůstat nezměněn.

Příklad implementace:

<html>
<head>
<title>Web na domene abcd.cz</title>
</head>
<body>
<a href="odkaz.html">odkaz v ramci webu</a>
<a href="https://efgh.cz/odkazVen.html?szn-session=abcd.cz&utm_source=www.seznam.cz&utm_medium=sekce-z-internetu"
>odkaz na jinou domenu (partnerskou)</a
>
<!-- je jedno, jak se parametr prida, jestli bude primo v html nebo doplneny pomoci JS -->
<a href="https://www.google.com">odkaz na domenu ven (ne partnerskou)</a>
<script>
if (location.search) {
const urlParams = new URLSearchParams(location.search);
// zjistim, zda je v url UTM parametr nebo session parametr nebo existuje session cookie
if (location.href.indexOf('szn-session') != -1 || urlParams.get('utm_medium')) {
// pokud ano, pak i na domene efgh.cz nastavim session cookie s hodnotou utm_medium
sssp.setSessionCookie(urlParams.get('utm_medium'));
}
} else if (sssp.existSessionCookie()) {
// nebo pokud jiz existuje session cookie, pak i na domene efgh.cz nastavim stejnou session cookie
const cookie = (document.cookie.match('(^|;) *' + 'sssp_session' + '=([^;]*)') || [])[2];
const sessionData = JSON.parse(decodeURIComponent(cookie)).media;
sssp.setSessionCookie(sessionData);
}
// nasleduje dalsi kod vyuzivajici existenci cookie a vkladajici reklamu
</script>
</body>
</html>