Nápověda menu

Google Tag Manager

Nejrychlejší cesta k nasazení SEM. GTM šablona za vás řeší načítání skriptu, hashování uživatelských dat i Consent Mode – vy jen nakonfigurujete tagy a napojíte je na dataLayer.

Tato dokumentace vychází z GTM šablony Pavla Šabatky
Šablona je dostupná v GTM Community Gallery i na GitHubu. Plná dokumentace autora: sabatka.net.

Krok 1 – Najděte SEM ID

GTM šablona vyžaduje SEM ID – viz Kde najdu SEM ID?.

Správný postup:

  1. Přejděte do Sklik → Nastavení účtu
  2. U příslušného záznamu klikněte na ikonu kopírovat vedle SEM ID
  3. Pokud máte provozovny Zboží.cz, použijte kombinované SEM ID příslušné provozovny

Krok 2 – Nainstalujte šablonu do GTM

1. Otevřete GTM kontejner

Přihlaste se do Google Tag Manager a otevřete kontejner webu.

2. Přidejte šablonu z Galerie

V levém menu klikněte na Šablony → Galerie šablon. Vyhledejte „Seznam SEM“ nebo „Sabatka“ a šablonu přidejte do kontejneru, nebo použijte přímý odkaz do GTM Gallery.

Krok 3 – Vytvořte tag pro PageView

PageView tag se spouští na každé stránce. Je to základ celé implementace – inicializuje SEM skript a odesílá základní data o návštěvě.

1. Vytvořte nový tag

Tagy → Nový → vyberte typ Seznam SEM (šablona, kterou jste přidali).

2. Vyplňte povinná pole

PoleHodnota
Seznam IDVaše SEM ID zkopírované v Kroku 1
Název událostiPageView

3. Nastavte spouštěč

Přiřaďte spouštěč All Pages (nebo ekvivalentní trigger pro všechna zobrazení stránky ve vaší SPA).


4. Nastavte Consent Mode

Pokud váš web používá Consent Mode v2, nechte zaškrtnutou volbu „Používám Consent Mode v2″ – šablona přečte stav souhlasů automaticky.

Pokud Consent Mode v2 nepoužíváte, odškrtněte volbu a vyplňte stav souhlasů ručně. Více v sekci Správa souhlasů.

Krok 4 – E-commerce tagy

Pro každou sledovanou akci (zobrazení produktu, košík, nákup…) vytvořte samostatný tag. Každý tag čte data z dataLayer – proto je potřeba, aby váš web při příslušných akcích tato data do dataLayer odesílal.

Formát dataLayer

Šablona akceptuje produktová data ve formátu Google Enhanced Ecommerce (GA4) nebo Shoptet. Pokud na webu již máte GA4 ecommerce implementaci, můžete data z dataLayer znovu použít beze změn.

ViewContent

Push do dataLayer na stránce detailu produktu:

dataLayer.push({
  event: 'seznam_view_content',       // název triggeru v GTM
  ecommerce: {
    currency: 'CZK',
    value: 33490,
    items: [{
      item_id: 'ABC12345',
      item_name: 'iPhone 15 Pro Max',
      item_category: 'Elektronika | Mobilní telefony | Apple',
      price: 33490,
      quantity: 1
    }]
  }
});

Konfigurace tagu v GTM:

PoleHodnota
Název událostiViewContent
Content Typeproduct (detail produktu) nebo product_group (kategorie)
ProductsProměnná GTM: {{ecommerce.items}}
CurrencyProměnná GTM: {{ecommerce.currency}}
ValueProměnná GTM: {{ecommerce.value}}

AddToCart

Push do dataLayer při přidání do košíku:

dataLayer.push({
  event: 'seznam_add_to_cart',
  ecommerce: {
    currency: 'CZK',
    value: 33490,
    items: [{
      item_id: 'ABC12345',
      item_name: 'iPhone 15 Pro Max',
      item_category: 'Elektronika | Mobilní telefony | Apple',
      price: 33490,
      quantity: 1
    }]
  }
});

Konfigurace tagu: Název události = AddToCart, Products = {{ecommerce.items}}.

Purchase

Push do dataLayer na stránce potvrzení objednávky:

dataLayer.push({
  event: 'seznam_purchase',
  ecommerce: {
    transaction_id: 'OBJ-987654',
    currency: 'CZK',
    value: 33990,          // cena produktů bez DPH
    tax: 7138,
    shipping: 120,
    items: [
      {
        item_id: 'ABC12345',
        item_name: 'iPhone 15 Pro Max',
        item_category: 'Elektronika | Mobilní telefony | Apple',
        price: 33490,
        quantity: 1
      },
      {
        item_id: 'KRYT999',
        item_name: 'Ochranný kryt',
        item_category: 'Elektronika | Příslušenství | Kryty na telefon',
        price: 500,
        quantity: 1
      }
    ]
  },
  // review_email předejte mimo objekt ecommerce – nebude hashován
  review_email: 'zakaznik@email.cz'
});

Konfigurace tagu v GTM:

PoleHodnota
Název událostiPurchase
OrderProměnná GTM mapující ecommerce objekt
ProductsProměnná GTM: {{ecommerce.items}}
Content Typeproduct

review_email nesmí být hashován
Šablona automaticky hashuje uživatelská data SHA-256. Parametr review_email pro dotazník spokojenosti Zboží.cz předejte mimo user objekt – jinak bude hashován a dotazník nebude fungovat.

Implementace bez šablony (Vlastní HTML)

SEM lze v GTM nasadit dvěma způsoby – přes GTM šablonu (popsanou výše) nebo ručně přes tagy typu Vlastní HTML. Obě cesty jsou plnohodnotné, volba záleží na vašich preferencích a stávající struktuře GTM kontejneru. Vlastní HTML tagy dávají větší kontrolu nad spouštěním a nevyžadují instalaci šablony.

Doporučená struktura tagů

Vytvořte tři typy tagů:

TagObsahSpouštěč
Seznam SEM – baseNačtení sul.jsAll Pages
Seznam SEM – pageview eventOdeslání události PageViewAll Pages
Seznam SEM – [název] eventOdeslání konkrétní událostiPříslušný trigger

Kódy tagů

base – načte skript, neodesílá žádnou událost:

<script src="https://l.seznam.cz/sul.js?id=VASE_SEM_ID"></script>

pageview event – odešle PageView (spouštět na All Pages):

<script>
if (typeof window.SEM === "function") {
    SEM('track', 'PageView');
}
</script>

Ostatní události (Contact, Lead apod.) – stejný vzor:

<script>
if (typeof window.SEM === "function") {
    SEM('track', 'Contact');
}
</script>

Sekvence spouštění tagů
Protože se sul.js načítá asynchronně, ostatní event tagy musí mít nastavenou sekvenci spouštění – v nastavení tagu zaškrtněte „Spustit značku před spuštěním této značky“ a vyberte tag base. Bez tohoto nastavení může být window.SEM při spuštění eventu ještě nedostupné a událost se neodešle. Priorita spuštění tagů v GTM pro asynchronní skripty nestačí.

Doporučená sada tagů

Vytvořte jeden tag na každý typ stránky/akce:

Stránka / akceTag (událost)Spouštěč
Všechny stránkyPageViewAll Pages
Detail produktuViewContent (content_type: product)Custom event: seznam_view_content
Stránka kategorieViewContent (content_type: product_group)Custom event: seznam_view_category
Přidání do košíkuAddToCartCustom event: seznam_add_to_cart
Zahájení objednávkyInitiateCheckoutCustom event: seznam_initiate_checkout
Potvrzení objednávkyPurchaseCustom event: seznam_purchase
VyhledáváníSearchCustom event: seznam_search
Odeslání formulářeLeadCustom event nebo Form Submit trigger

Názvy custom eventů jsou libovolné
Události jako seznam_purchase jsou jen doporučené konvence. Pokud již máte v dataLayer jiné názvy (např. z GA4 implementace), použijte ty – stačí nastavit odpovídající trigger v GTM.

Uživatelská data v GTM

Pro předání e-mailu nebo jiných uživatelských dat použijte v konfiguraci tagu sekci User Object. Šablona data automaticky hashuje SHA-256 před odesláním – předávejte je v čitelné podobě.

Typicky stačí přidat User Object do PageView tagu (nebo do samostatného UserDataUpdate tagu) a nakonfigurovat proměnnou z dataLayer, cookie nebo JS proměnné, kde e-mail uživatele máte k dispozici.

dataLayer.push({
  event: 'seznam_user_data',
  user: {
    email: 'jan.novak@email.cz',   // hashuje šablona automaticky
    phone: '+420606666666',
    first_name: 'Jan',
    last_name: 'Novák'
  }
});

Content Security Policy

Pokud váš web používá CSP hlavičky, přidejte tato povolení:

Content-Security-Policy:
  script-src l.seznam.cz;       /* lze vynechat pokud GTM používá nonce */
  connect-src https://*.seznam.cz;  /* l.seznam.cz + sem.seznam.cz */

Pokud měření nefunguje, zkontrolujte v konzoli prohlížeče chybu „Refused because of Content Security Policy“.


📋
Reference událostí
Kompletní parametry pro každou událost.
🧪
Testování
Ověřte implementaci v Sandboxu před přepnutím.
🔐
Consent Mode
Nastavení souhlasů bez Consent Mode v2.

Potřebujete další pomoc?

Pokud si stále nevíte rady, obraťte se na naše specialisty. 95 % vašich dotazů umíme vyřešit do 2 hodin.