Jak měřit e-shop na Shopify bez vlastních analytických cookies

Na Shopify měříme pomocí vlastního pixelu v Customer events. Zaznamenáváme návštěvy, průchod nákupem a dokončené objednávky. Objednávky získané z prohlížeče zobrazujeme ve statistikách, ale nepočítáme je do fakturace ani cenového pásma. Serverové ověření objednávek toto napojení zatím nepodporuje. Data zůstávají na našem serveru v EU a prvních 30 dní máte zdarma.

Co u Shopify čekat
  • Trackless neukládá vlastní analytické cookies ani vlastní měřicí identifikátor, ale u tohoto napojení běží měřicí kód v prohlížeči. Právní základ, cookie lištu a případné podmínění spuštění posuďte podle celkového nastavení webu.
  • Blokování: pixel běží v prohlížeči - při agresivním blokování měřicích skriptů může část návštěv chybět.
  • Co změří: návštěvy, vyhledávání, prohlížení produktů, košík, pokladnu a dokončené objednávky s hodnotou, měnou a číslem.

Jak to funguje

  • Jeden vlastní pixel. Vložíte ho do sekce Customer events. Měří návštěvnost, cestu k nákupu a dokončené objednávky. Do kódu šablony nesaháte.
  • Data jsou jen Vaše. Měření končí na našem serveru v EU; data nepředáváme reklamním systémům.

Krok 1: Získejte měřicí token

Zaregistrujte se na trackless.cz, přihlaste se a v sekci Moje weby klikněte na Přidat web. Vyberte Shopify a Trackless Vám hned ukáže měřicí token - řetězec začínající na tlc_. Ten za chvíli vložíte do pixelu.

Krok 2: Přidejte vlastní pixel do Shopify

V administraci Shopify otevřete Settings → Customer events (česky Nastavení → Události zákazníků). V horní části nejdřív přepněte záložku App pixels na Custom pixels a potom klikněte na Add custom pixel. Pojmenujte ho třeba "Trackless", do pole s kódem vložte tento pixel jako čistý JavaScript (bez tagu <script>) a místo VAS_MERICI_TOKEN dosaďte svůj token z kroku 1. Výchozí ukázkový kód Shopify celý nahraďte. Pak nahoře dejte Save a tlačítkem Connect pixel spusťte:

var TRACKLESS_TOKEN = 'VAS_MERICI_TOKEN';
var TRACKLESS_ENDPOINT = 'https://trackless.cz/collect';
function num(x) {
    x = String(x == null ? '' : x).replace(/[^\d,.\-]/g, '');
    if (x.indexOf(',') > -1) { x = x.replace(/\./g, '').replace(',', '.'); }
    return Number(x) || 0;
}
function digits(x) { return String(x == null ? '' : x).replace(/\D/g, ''); }
function send(ctx, e) {
    try {
        var d = (ctx && ctx.document) || {}, loc = d.location || {}, nav = (ctx && ctx.navigator) || {};
        fetch(TRACKLESS_ENDPOINT, {
            method: 'POST',
            keepalive: true,
            headers: { 'Content-Type': 'text/plain' },
            body: JSON.stringify({
                v: 1, t: TRACKLESS_TOKEN,
                u: String(loc.href || '').slice(0, 2048),
                r: String(d.referrer || '').slice(0, 1024),
                l: String(nav.language || '').slice(0, 35),
                e: e || null
            })
        });
    } catch (err) { /* mereni nikdy nesmi shodit obchod */ }
}
analytics.subscribe('page_viewed', function (event) {
    try { send(event.context, null); } catch (err) { /* nikdy neshodit obchod */ }
});
analytics.subscribe('search_submitted', function (event) {
    try {
        var q = event.data && event.data.searchResult && event.data.searchResult.query;
        if (!q) { return; }
        send(event.context, { event_type: 'search', search_query: String(q).slice(0, 200), page_type: 'search' });
    } catch (err) { /* nikdy neshodit obchod */ }
});
analytics.subscribe('collection_viewed', function (event) {
    try {
        var col = (event.data && event.data.collection) || {};
        send(event.context, { event_type: 'view_category', id_object: digits(col.id), page_type: 'category' });
    } catch (err) { /* nikdy neshodit obchod */ }
});
analytics.subscribe('product_viewed', function (event) {
    try {
        var pv = (event.data && event.data.productVariant) || {}, pr = pv.product || {}, pc = pv.price || {};
        send(event.context, {
            event_type: 'view_item', id_object: digits(pr.id),
            value: num(pc.amount), currency: String(pc.currencyCode || '').toUpperCase(), page_type: 'product'
        });
    } catch (err) { /* nikdy neshodit obchod */ }
});
analytics.subscribe('product_added_to_cart', function (event) {
    try {
        var cl = (event.data && event.data.cartLine) || {}, m = cl.merchandise || {}, pr = m.product || {};
        var cost = (cl.cost && cl.cost.totalAmount) || m.price || {};
        send(event.context, {
            event_type: 'add_to_cart', id_object: digits(pr.id),
            quantity: Number(cl.quantity) || 1, value: num(cost.amount),
            currency: String(cost.currencyCode || '').toUpperCase()
        });
    } catch (err) { /* nikdy neshodit obchod */ }
});
analytics.subscribe('checkout_started', function (event) {
    try {
        var c = (event.data && event.data.checkout) || {}, tp = c.totalPrice || {};
        send(event.context, {
            event_type: 'begin_checkout', value: num(tp.amount),
            currency: String(tp.currencyCode || c.currencyCode || '').toUpperCase(), page_type: 'checkout'
        });
    } catch (err) { /* nikdy neshodit obchod */ }
});
analytics.subscribe('checkout_completed', function (event) {
    try {
        var c = (event.data && event.data.checkout) || {};
        var id = (c.order && c.order.id != null) ? digits(c.order.id) : '';
        if (!id) { return; }
        var tp = c.totalPrice || {};
        send(event.context, {
            event_type: 'order', page_type: 'order', id_object: id,
            value: num(tp.amount), currency: String(tp.currencyCode || c.currencyCode || 'CZK').toUpperCase()
        });
    } catch (err) { /* nikdy neshodit obchod */ }
});

V nastavení pixelu je oddíl Customer privacy (Soukromí zákazníků). Protože Trackless neukládá vlastní analytické cookies ani vlastní měřicí identifikátor do prohlížeče, nastavte oprávnění (Permission) podle svého právního posouzení a celého nastavení e-shopu. Ve stejné části rozbalte také Data sale a nastavte jej podle toho, zda v e-shopu prodáváte nebo sdílíte data pro reklamní účely. Samotný Trackless data reklamním systémům nepředává; pokud v obchodě prodej dat neděláte, nastavte Data sale tomu odpovídajícím způsobem. Pixel používá Customer events. Staré "additional scripts" ani checkout.liquid, jejichž podporu Shopify ukončil, nepoužívá.

Krok 3: Ověřte, že měření běží

Otevřete svůj e-shop v anonymním okně prohlížeče a projděte několik stránek. Návštěva se ve Vašem přehledu na trackless.cz objeví po zpracování dat na pozadí, obvykle do 15 minut. Zkušební objednávkou ověřte, že dorazí objednávka a tržba označená browser_unverified. Vlastní pixel běží v Shopify sandboxu na vývojovém i ostrém obchodě; sandbox proto není spolehlivý příznak testovacího provozu.

Co budete měřit

  • Zdroje a kanály: UTM parametry, referrery a kanály ve stylu Google Analytics 4 - včetně návštěv z AI asistentů.
  • Zařízení, prohlížeče a operační systémy.
  • Země a jazyky návštěvníků.
  • Dokončené objednávky včetně hodnoty, měny a čísla objednávky předaných prohlížečem.
  • Cestu k nákupu: zobrazení produktu - přidání do košíku - pokladna - dokončení objednávky, plus co návštěvníci na e-shopu hledali.

Limity, ať víte, do čeho jdete

  • Měříme pomocí kódu v prohlížeči. Pokud ho prohlížeč nebo rozšíření zablokuje, část návštěv v přehledu neuvidíte.
  • Číslo a částku objednávky přebíráme z prohlížeče, bez serverového ověření. Objednávku zobrazíme ve statistikách objednávek, tržeb a konverzí, ale nezapočítáme ji do fakturace ani cenového pásma. Serverové napojení objednávek toto řešení zatím neobsahuje.
  • Provozujete i e-shop na otevřené platformě (PrestaShop, WooCommerce, Joomla / VirtueMart, OpenCart, Magento 2, Shopware 6 nebo Sylius)? Tam použijte naše serverové moduly - měří přímo na serveru, nejsou závislé na spuštění měřicího kódu v prohlížeči a podle platformy umí i objednávky, položky a marže.

Časté dotazy

Potřebuju kvůli Tracklessu souhlas návštěvníků nebo cookie lištu?

Nejde odpovědět plošně. Trackless do prohlížeče neukládá vlastní měřicí identifikátor ani vlastní analytické cookies, ale u tohoto napojení běží měřicí kód v prohlížeči. Právní základ, cookie lištu a případné podmínění spuštění posuďte podle celého nastavení webu a dalších nástrojů.

Zpomalí pixel můj e-shop?

Vlastní pixely Shopify spouští odděleně v izolovaném prostředí (sandbox) spravovaném Shopify, ne jako kód vložený do šablony e-shopu. To může omezit dopad na stránku, ale nezaručuje nulový režijní náklad. Skutečný dopad na rychlost závisí na e-shopu, nastavení pixelu a zařízení návštěvníka.

Můžu Trackless používat společně s Google Analytics 4 nebo Shopify analytikou?

Ano. Trackless běží vedle nich a nijak je neovlivňuje. Počítejte s rozdílnými čísly: Trackless je méně závislý na vlastních analytických cookies než klientská analytika, takže může zachytit i část návštěv, které nástroje závislé na analytických cookies započítají jen omezeně nebo modelem.

Kolik Trackless stojí?

Prvních 30 dní je zdarma. Cenové pásmo se potom určuje jen ze serverově ověřených objednávek a tržeb; objednávky z pixelu ho nezvyšují. Konkrétní částky najdete v ceníku.

Na webu píšete "bez JavaScriptu" - a tohle je pixel v JavaScriptu. Jak to jde dohromady?

Naše serverové moduly a pluginy pro otevřené platformy (PrestaShop, WordPress/WooCommerce, Joomla / VirtueMart, OpenCart, Magento 2, Shopware 6 a Sylius) měří přímo na serveru e-shopu bez vlastního měřicího JavaScriptu. U této platformy je ale dostupná cesta přes měřicí kód v prohlížeči. Skript nebo pixel odešle URL stránky, referrer, jazyk a události na endpoint Trackless; neukládá vlastní cookies ani vlastní měřicí identifikátor. Identita návštěvníka se počítá na serveru z požadavku. To omezuje vlastní identifikátory v prohlížeči, ale právní posouzení a případné podmínění spuštění závisí na nasazení.

Vyzkoušejte to na svém e-shopu

Registrace zabere minutu, přidání pixelu dalších pár. Prvních 30 dní neplatíte nic.

Vyzkoušet 30 dní zdarma Prohlédnout živé demo

← Zpět na hlavní stránku