PSoIT Cookies GDPR. Návod k nastavení modulu.

Cookie lišta, Google Consent Mode v2, Google Analytics 4, Google Ads a Meta Pixel.

Verze modulu 3.2.0 · OpenCart 3.0.5.1 · Aktualizováno 19. 10. 2026

1. Rychlé nastavení

V administraci otevřete Rozšíření → Rozšíření → GDPR → PSoIT cookies GDPR. U více obchodů nastavte každý obchod samostatně.

  1. Zvolte Přímý Google tag (gtag.js), pokud chcete GA4 a Google Ads spravovat tímto modulem.
  2. Do Kód Analytics GA vložte vlastní ID měření G-….
  3. Používáte-li Google Ads, vyplňte vlastní AW-… a samostatně štítky požadovaných konverzí.
  4. Zapněte GA4 e-commerce události. Pro běžný provoz ponechte Ladění GA4 vypnuté.
  5. Používáte-li Meta Pixel, vyplňte jeho číselné Facebook ID.
  6. Vyberte stránku se zásadami cookies, nastavte barvu a případně tmavý vzhled.
  7. Nastavte Stav → Povoleno a uložte změny tlačítkem s disketou vpravo nahoře.
Vkládejte pouze ID a štítky. Do polí nepatří HTML, značky <script> ani celé úryvky kódu. Ukázková ID v tomto manuálu nahraďte vlastními.

2. Instalace a aktualizace

  1. Zálohujte soubory a nastavení. Instalační balíček .ocmod.zip nahrajte přes Rozšíření → Instalátor.
  2. Vypněte jiné modifikace zajišťující měření. Pouhé vypnutí stavu původního analytického modulu nemusí odstranit jeho globální skript.
  3. Ponechte aktivní pouze jednu verzi modifikace psoit-gdpr-cookies. Nahraďte také případnou starší modifikaci cookies-head-body.
  4. Obnovte Rozšíření → Modifikace a vymažte cache šablon.
  5. Pokud administrace hlásí chybějící oprávnění, ve skupině administrátora povolte přístup a změny pro extension/extension/gdpr a extension/gdpr/cookies.
  6. Proveďte nastavení a kontrolu podle tohoto manuálu.

Aktualizace 3.2.0 obsahuje také nový controller, model a JavaScript e-commerce. Samotné nahrazení modifikačního XML nestačí.

Pro správce zdrojového projektu: neponechávejte současně aktivní soubor system/psoit-gdpr-cookies.ocmod.xml a jeho databázovou kopii z instalátoru. Vlastní kopie šablon cookies*.twig v aktivním tématu mohou přepisovat aktualizované šablony.

3. Přehled polí administrace

Pole v pořadí aktuálního formuláře
Pole Co nastavit
Cookie banner RGB barva Barvu vzhledu lišty, například #1757a6.
Způsob napojení Googlu Přímý Google tag pro měření řízené modulem; Google Tag Manager pro GA4 řízené publikovaným kontejnerem.
Kód Analytics GA ID měření GA4, například G-XXXXXXXXXX. Používá se pouze v přímém režimu.
Kód GTM služby Analytics ID kontejneru GTM-XXXXXXX. Používá se pouze v režimu GTM.
Google Ads ID Vlastní ID ve formátu AW-123456789. Tento příklad není nastavením vašeho účtu.
Konverzní štítek nákupu Část hodnoty send_to za lomítkem. Prázdné pole vypíná Ads konverzi nákupu.
Konverzní štítek registrace Štítek konverze vytvoření zákaznického účtu. Prázdné pole tuto konverzi vypíná.
GA4 e-commerce události Zapíná osm událostí produktu, košíku a objednávky. Bez GA4 v přímém režimu nebo GTM v režimu GTM se neaktivují.
Ladění GA4 (DebugView) Dočasně zapněte při testování. Přidá debug_mode k e-commerce událostem a jejich výpis do konzole.
Facebook ID Pouze číselné ID Meta Pixelu. Nejde o ID facebookové stránky ani reklamního účtu.
Stránka Zásady použití cookies Vyberte informační stránku obchodu popisující skutečně používané služby a cookies.
Dark mode Zapíná tmavý vzhled cookie lišty.
Stav Zapíná nebo vypíná modul v daném obchodě, včetně jím spravovaného měření.

Ne všechny starší jazykové položky odpovídají viditelným polím. Platnost cookies není v aktuálním formuláři samostatně vystavená; její případnou změnu řeší správce v nastavení implementace.

4. Nepoužívané služby

Nevyužívaná ID nechte prázdná. Modul bez nich příslušnou službu nezapne.

Co nepotřebujete Co vyprázdnit nebo vypnout
GA4 v přímém režimu Kód Analytics GA.
Google Ads Google Ads ID a oba konverzní štítky. Ponechané štítky bez AW ID způsobí chybu při uložení.
Jen jednu Ads konverzi Pouze odpovídající štítek. Značka AW může zůstat aktivní.
Meta Pixel Facebook ID.
GTM při přímém měření GTM ID může být prázdné; v přímém režimu se stejně nepoužije.
GA4 e-commerce Přepínač GA4 e-commerce události. Základní Google tag tím nevypnete.

GA4, Ads a Meta lze používat samostatně i v kombinaci. Modul zohledňuje dostupnost služeb v nabídce analytických a marketingových souhlasů.

V režimu GTM rozhoduje také kontejner. Vymazání GA4 ID z tohoto formuláře nevypne GA4 značku publikovanou uvnitř GTM. Měření vložené jinými rozšířeními nebo přímo do šablony má vlastní nastavení.

5. Jak fungují souhlasy

Google Consent Mode v2 nastavuje před konfigurací značek hodnoty analytics_storage, ad_storage, ad_user_data a ad_personalization na denied. Volba návštěvníka je následně aktualizuje a na dalších stránkách se obnovuje uložený souhlas.

Volba návštěvníka Chování modulu
Bez souhlasu / odmítnutí GA4 e-commerce ani Ads konverze se neposílají. Meta Pixel se nenačítá.
Pouze analytika GA4 e-commerce je povolena. Ads konverze a Meta Pixel zůstávají vypnuté.
Pouze marketing Je povolen Meta Pixel a nakonfigurované Ads konverze. GA4 e-commerce není povolena.
Vše Jsou povoleny všechny nakonfigurované služby v rozsahu jejich funkcí.

Google knihovna se může načíst již před souhlasem. Jde o pokročilý Consent Mode: značka může komunikovat bez cookies, zatímco jejich ukládání řídí souhlas. Výskyt gtag.js ve zdroji stránky proto sám o sobě neznamená chybu.

Po odvolání souhlasu modul aktualizuje stav, odstraňuje dostupné cookies příslušné kategorie a obnoví stránku. U Meta volá také consent revoke. Souhlasy jsou v revizi 1; při přechodu ze starší revize 0 je lišta vyžádá znovu.

Souhlas lze udělit až na aktuální stránce produktu nebo úspěšné objednávky. Její připravená událost se poté může odeslat. AJAX akce provedené bez analytického souhlasu se zpětně nepřehrávají.

6. Google Ads konverze

Z nastavení příslušné konverzní akce Google Ads převezměte ID značky a štítek. Například:

send_to: 'AW-123456789/AbCd_Ef-123'

Google Ads ID:             AW-123456789
Konverzní štítek nákupu:    AbCd_Ef-123

Pro registraci použijte štítek její samostatné konverzní akce. Modul nevyžaduje vložení původního JavaScriptového úryvku.

  • Nákup: na standardní stránce úspěchu předá celkovou částku objednávky, měnu a skutečné ID objednávky jako transaction_id.
  • Registrace: zaznamená skutečné vytvoření zákaznického účtu. Nejde o přihlášení k newsletteru ani o obecné kliknutí na tlačítko.
  • Souhlas: obě konverze vyžadují marketingový souhlas a vlastní vyplněný štítek.

Nákup znamená dokončení objednávky v obchodě. Modul tím nepotvrzuje pozdější skutečné zaplacení u platební brány. Google Ads konverze a GA4 purchase jsou dvě samostatné události pro různé cíle.

7. GA4 e-commerce

Zapněte přepínač GA4 e-commerce události. V přímém režimu stačí správné GA4 ID; v režimu GTM je potřeba také konfigurace popsaná níže.

Událost Kdy vzniká
view_item Zobrazení platného detailu produktu.
add_to_cart Úspěšné přidání nebo zvýšení množství; předává skutečný přírůstek.
remove_from_cart Odstranění nebo snížení množství; předává skutečně odebrané kusy.
view_cart Otevření neprázdného košíku.
begin_checkout Otevření platného checkoutu s položkami.
add_shipping_info Úspěšné uložení dopravy; obsahuje také shipping_tier.
add_payment_info Úspěšné uložení platby; obsahuje také payment_type.
purchase Dokončení existující objednávky daného obchodu s nenulovým stavem.

Události obsahují currency, value a items. Položka obsahuje zejména item_id (ID produktu OpenCart), item_name, jednotkovou price a quantity.

Hodnoty nákupu

transaction_id je skutečné ID objednávky. value je součet cen položek bez daně a dopravy; ty jsou samostatně v tax a shipping. Vlastní parametr order_total nese skutečný uložený celkový součet objednávky. Pro vlastní přehledy nad tímto parametrem je nutná odpovídající vlastní metrika v GA4.

value:          34.00 EUR
shipping:        5.00 EUR
tax:             8.97 EUR
order_total:    47.97 EUR

Rozdíl mezi GA4 value a celkovou částkou není chyba. Google Ads nadále dostává celkovou částku objednávky. U vlastních poplatků nebo nestandardních slev nemusí být celková částka prostým součtem těchto tří GA4 parametrů.

Nákup vychází z uložených položek, měny a historického kurzu objednávky. Standardní slevy kupónu a věrnostních bodů se poměrně rozpočítávají do cen produktů. Osobní údaje zákazníka, volný text produktových voleb a údaje příjemců poukazů se do těchto událostí nepředávají.

AJAX a ochrana proti duplicitám

Podporované změny košíku fungují přes jQuery AJAX, nativní XHR i fetch stejného původu. Modul vyhodnocuje skutečnou změnu na serveru; neúspěšné přidání a nezměněné množství událost nevytvoří.

Stejná odpověď se nezpracuje opakovaně. Opakované potvrzení stejné dopravy nebo platby pro stejný košík se potlačuje. Nákup navíc používá skutečné transaction_id a ochranu v sessionStorage pro daný panel, obchod a cíl. Při nedostupném úložišti zůstává ochrana v paměti stránky a ID transakce pro Google.

Podporován je standardní checkout OpenCart a změny množství přes advanced_popup_cart/edit. Jiný vlastní checkout nebo jiné serverové endpointy mohou vyžadovat doplnění integrace.

8. Meta Pixel

Do Facebook ID vložte pouze číselné ID Pixelu z Meta Events Manageru. Po marketingovém souhlasu se načte fbevents.js, provede inicializace a jeden standardní fbq('track', 'PageView') na stránku.

Před marketingovým souhlasem se Pixel nenačítá. Funguje i bez Google služeb. Nepodmíněný obrázek noscript není vložen, aby neobcházel souhlas; bez JavaScriptu se Meta měření neposílá.

Rozsah verze 3.2.0: Meta měří PageView. Modul neposílá Meta Purchase, Lead, CompleteRegistration ani Conversions API. GA4 e-commerce tyto Meta události automaticky nezapíná.

9. Volitelný režim Google Tag Manager

Zvolte jej, pokud GA4 spravujete v GTM. Vyplňte ID kontejneru a publikujte v něm Google tag pro vlastní GA4 ID. Samotný prázdný kontejner GA4 měření nezajišťuje. Pole GA4 v modulu se v tomto režimu nepoužívá.

Modul vkládá e-commerce objekty do dataLayer a před každou událostí předchozí objekt ecommerce vyčistí. Nastavte jednu GA4 Event značku:

  1. Spouštěč typu Custom Event s regulárním výrazem níže; zapněte použití regulárního výrazu.
  2. Název události nastavte na vestavěnou proměnnou {{Event}}.
  3. Vytvořte Data Layer proměnné verze 2 a mapujte níže uvedené parametry.
  4. Pro tuto e-commerce značku vyžadujte souhlas analytics_storage, ověřte náhledem a publikujte změny.
^(view_item|add_to_cart|remove_from_cart|view_cart|begin_checkout|add_shipping_info|add_payment_info|purchase)$
Parametr GA4 Klíč proměnné Data Layer
currency, value, items ecommerce.currency, ecommerce.value, ecommerce.items
transaction_id ecommerce.transaction_id
shipping, tax, coupon ecommerce.shipping, ecommerce.tax, ecommerce.coupon
shipping_tier, payment_type ecommerce.shipping_tier, ecommerce.payment_type
order_total ecommerce.order_total
event_id, debug_mode event_id, debug_mode
Google Ads zůstává spravované modulem i v režimu GTM. Pokud zde vyplníte AW ID a štítky, nevytvářejte další stejné Ads konverze v kontejneru. Google značky v GTM musí respektovat Consent Mode; ostatním značkám nastavte potřebné souhlasy samostatně.

10. Ověření měření

  1. Dočasně zapněte Ladění GA4 (DebugView) a otevřete obchod v novém testovacím okně.
  2. Ověřte odmítnutí, samotnou analytiku, samotný marketing a povolení všeho. Pro jednotlivé scénáře použijte čistou testovací relaci nebo změnu volby v cookie nastavení.
  3. S analytickým souhlasem projděte produkt, přidání do košíku, změnu množství, košík, dopravu, platbu a novou testovací objednávku.
  4. V Chrome otevřete F12 → Console a použijte příkazy níže. V režimu ladění uvidíte i záznamy s prefixem [PSoIT GA4].
  5. V Network sledujte požadavky collect. Příjem e-commerce událostí ověřte v GA4 → Administrátor → DebugView; v režimu GTM musí být namapovaný i debug_mode.
  6. Ads ověřte pomocí Tag Assistantu a správného konverzního cíle. Meta ověřte po marketingovém souhlasu pomocí Meta Pixel Helperu nebo testovacích událostí v Events Manageru.
  7. Po ověření vypněte ladění GA4.

Stav a události aktuální stránky

window.psoitGa4?.getStatus()
window.psoitGa4?.getEvents()

Události v přímém režimu gtag.js

Array.from(window.dataLayer || [])
  .filter(x => x && x[0] === 'event')
  .map(x => ({ event: x[1], params: x[2] }))

Události v režimu GTM

(window.dataLayer || [])
  .filter(x => x && x.event && x.ecommerce)

Pro ladění jen jedné stránky lze k její URL přidat gdpr_debug=1, například index.php?route=product/product&product_id=28&gdpr_debug=1. Pro celý nákupní průchod použijte přepínač v administraci.

Zápis v dataLayer potvrzuje přípravu události, nikoli její přijetí Googlem. To ověřte v Network a DebugView. Již odeslaný nákup znovu nevynucujte mazáním ochrany proti duplicitám; po zapnutí debug režimu vytvořte novou testovací objednávku.

11. Řešení potíží

Projev Co zkontrolovat
Ve zdroji není GTM skript V přímém režimu je to správně. Načítá se gtag.js z domény googletagmanager.com; tato doména sama neznamená GTM kontejner.
V dataLayer není objekt ecommerce V přímém režimu hledejte záznamy ['event', 'purchase', {...}] apod. Objekt {event, ecommerce} používá režim GTM.
Meta kód není v původním zdroji jako celý vzor Pixel se spouští dynamicky po marketingovém souhlasu. Kontrolujte síťový požadavek na fbevents.js a Pixel Helper.
Události jsou připravené, ale nic nepřijde do účtu Ověřte vlastní cílová ID, blokování reklam, Network, souhlasy a v režimu GTM publikované značky. Neponechávejte příklad AW-123456789.
Dvakrát purchase nebo PageView Zkontrolujte GTM, původní Adwords modifikaci, Mergado / Mega Feed Pro, další analytické moduly a vlastní kód šablony. Modul jejich měření automaticky nevypíná.
Po opakovaném načtení úspěchu chybí purchase Jde o očekávanou ochranu proti duplicitám a spotřebování ID objednávky standardním checkoutem.
GA4 value je menší než zaplacený celkový součet GA4 value nezahrnuje daň a dopravu. Zkontrolujte tax, shipping a order_total.
Chybí doprava nebo platba u vlastního checkoutu Ověřte, zda používá standardní serverové akce. Nestandardní endpointy vyžadují doplnění napojení.
Po aktualizaci se chování nezměnilo Obnovte Modifikace a cache šablon, ověřte nově nahrané soubory a vlastní přepsané šablony aktivního tématu.

12. Kontrola před spuštěním

  • Všechna vyplněná ID a konverzní štítky patří správnému obchodu a účtu.
  • Nepoužívané služby mají prázdná pole; není aktivní původní Adwords modifikace ani duplicitní odesílání z jiných modulů.
  • Zásady cookies odpovídají zapnutým službám a stránka je vybraná v administraci.
  • Ověřili jste jednotlivé kategorie souhlasu i jeho odvolání.
  • GA4 přijalo testovací události se správnými položkami, měnou a ID objednávky.
  • Po obnovení úspěšné objednávky nevznikl další nákup; Ads a Meta směřují do správných účtů.
  • Ladění GA4 je pro běžný provoz vypnuté a nastavení uložené pro každý používaný obchod.

Manuál popisuje implementaci PSoIT cookies GDPR 3.2.0. Obsahuje cookie lištu a měření; nezahrnuje vyřizování GDPR žádostí zákazníků. Dokument funguje samostatně bez připojení k internetu a bez externích fontů nebo měřicích skriptů.

Navazující dokumentace: Google GA4 e-commerce · Parametry purchase · Google Consent Mode.