Přeskočit na obsah
INSTALACE DLE CMS

PrestaShop — instalace server-side trackingu

Server-side tracking pro PrestaShop 1.7+ a 8.x. GTM modul (free + placený), nebo přímá úprava themu pro plnou kontrolu nad datalayerem.

11 min čtení Středně pokročilý Aktualizováno 6.5.2026

Návod pro PrestaShop 1.7+ a 8.x: server-side tracking přes DataNostro bez vlastního modulu. Používáme oficiální PrestaShop GTM modul + standardní GA4 datalayer hooks.

Pro koho je tenhle návod

  • PrestaShop 1.7.6+ nebo 8.x (datalayer hooks jsou standardní od 1.7.6)
  • Doba: 60–90 minut první nastavení
  • Předpokládá FTP nebo SSH přístup pro úpravu thematu

Co budeš potřebovat

  1. PrestaShop admin přístup (Super Admin role)
  2. Účet v Google Tag Manager — web + sGTM container
  3. DNS přístup pro tracking subdoménu
  4. DataNostro účet a vytvořený kontejner

Krok 1 — Nainstaluj GTM modul

PrestaShop nemá oficiální GTM modul od PrestaShop SA, ale existuje široce používaný komunitní:

  • Lightweight GTM Module (free) — od Webwizards (search v PrestaShop Addons marketplace).
  • Google Tag Manager Pro (paid, ~30 €) — od Idnovate, lepší WooCommerce-style datalayer.

Pokud nechceš modul, viz alternativní přístup níže (přímá úprava themu).

  1. Admin → Modules → Module Manager → Upload → nahraj ZIP.
  2. Po instalaci → Configure → vlož svoje GTM Container ID (GTM-XXXXXX).
  3. Zaškrtni Enable Enhanced Ecommerce a GA4-format datalayer (pokud volba existuje).

Krok 1 (alternativa) — Bez modulu, přes theme

Pokud chceš mít plnou kontrolu nad datalayerem, můžeš to udělat ručně:

  1. FTP / SSH do themes/<your-theme>/templates/_partials/ a otevři head.tpl.
  2. Hned za {block name="head_seo"} vlož GTM snippet:
    <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
    j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
    'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
    })(window,document,'script','dataLayer','GTM-XXXXXX');</script>
  3. Pro datalayer eventy vytvoř dataLayer.tpl partial a inkluduj v product.tpl, cart.tpl, order-confirmation.tpl. Příklad pro purchase event (order-confirmation.tpl):
    <script>
    window.dataLayer = window.dataLayer || [];
    window.dataLayer.push({
      event: "purchase",
      ecommerce: {
        transaction_id: "{$order.reference}",
        value: {$order.total_paid|escape:'javascript':'UTF-8'},
        currency: "{$currency.iso_code}",
        tax: {$order.total_tax|escape:'javascript':'UTF-8'},
        shipping: {$order.total_shipping|escape:'javascript':'UTF-8'},
        items: [
          {foreach $products as $p}
          {
            item_id: "{$p.id_product}",
            item_name: "{$p.name|escape:'javascript':'UTF-8'}",
            price: {$p.unit_price_tax_incl|escape:'javascript':'UTF-8'},
            quantity: {$p.product_quantity},
          },
          {/foreach}
        ],
      },
    });
    </script>

Tahle ruční varianta dá víc práce, ale máš přesně takový datalayer, jaký GTM workspace očekává. Modul z kroku 1 emituje formát, který možná musíš v GTM transformovat.

Krok 2 — Deployni sGTM kontejner v DataNostro

  1. V Google Tag Manager vytvoř nový Server container.
  2. Admin → Export Container → JSON.
  3. DataNostro dashboard → Kontejnery → Vytvořit nový → upload JSON.
  4. DataNostro vrátí URL endpointu + DNS pokyny.

Krok 3 — DNS

U DNS providera přidej CNAME na tracking subdoménu (např. track.tvujeshop.cz) → cíl containers.datanostro.com.

Krok 4 — Přepni GA4 / Meta na sGTM

V GTM web containeru:

  1. GA4 Configuration tag → Fields to Set:
    server_container_url = https://track.tvujeshop.cz
  2. Stejně pro každý GA4 Event tag (purchase, add_to_cart, view_item, …).
  3. (Volitelně) Meta Pixel tag → Advanced Settings → Use server-side endpoint = same URL.
  4. Submit → Publish.

Krok 5 — Připoj platformy v DataNostro

Standardní postup — GA4, Meta CAPI, Sklik, Heureka. Přesné kroky viz Setup platforem.

Krok 6 — Test

  1. Vytvoř testovací produkt za 1 Kč v PrestaShop admin.
  2. Udělej kompletní nákup (přidej do košíku → checkout → potvrzení).
  3. V DataNostro Aktivita ověř, že přišly všechny 4 eventy: view_item, add_to_cart, begin_checkout, purchase.
  4. V GA4 DebugView ověř shodu hodnot (value, items, transaction_id).

Časté problémy

„Komunitní GTM modul má bugy"

Lightweight GTM Module je dobrý starting point, ale jeho datalayer formát může být zastaralý (UA-style). Pokud tvůj GTM workspace očekává GA4 events (view_item, purchase), buď:

  • Použij placený modul s GA4 podporou (Idnovate)
  • Nebo přidej v GTM workspace transformační tag, který UA → GA4 mapuje
  • Nebo přepiš na ruční variantu z kroku 1 (alternativa)

„Purchase event vidím dvakrát (duplicate)"

Pokud máš nainstalovaný GTM modul i ruční datalayer push v order-confirmation.tpl, oba emitují purchase event. Vyber jeden přístup a druhý odstraň.

„PrestaShop cache schovává změny v theme"

Po úpravě .tpl souborů admin → Advanced → Performance → Clear cache. Pokud používáš Smarty cache (default on), bez vyčištění tvoje změny ničí.

Další kroky