Jak měřit e-shop na FastCentriku bez vlastních analytických cookies
Trackless je cookieless analytika pro e-shopy. V prohlížeči návštěvníka neukládá vlastní měřicí identifikátor ani vlastní analytické cookies. Protože toto napojení běží přes měřicí kód v prohlížeči, právní základ, cookie lištu a případné podmínění spuštění vždy posuzujte podle celkového nastavení webu. Oficiální doplněk pro FastCentrik neexistuje - podle aktuální administrace se měření vkládá přes Google Tag Manager: ve FastCentriku uložíte ID GTM kontejneru a do GTM vložíte Trackless kódy jako vlastní HTML značky. Data zůstávají na našem serveru v EU a prvních 30 dní máte zdarma.
- 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í: měřicí kód 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 i objednávky (využije datovou vrstvu FastCentriku na děkovací stránce). Když datová vrstva obsahuje položky objednávky, Trackless oddělí tržbu za produkty od dopravy a platby.
Jak to funguje
- Měřicí kód běží v prohlížeči, takže při agresivním blokování měřicích skriptů může část návštěv chybět. V běžném nastavení ale Trackless nebývá blokovaný; trendy a poměry zdrojů zůstávají vypovídající.
- Přes Google Tag Manager. Ve FastCentriku uložíte jen ID GTM kontejneru; samotný Trackless kód běží v GTM jako vlastní HTML značka na všech stránkách. Konverze se připojí z datové vrstvy na děkovací stránce.
- 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 FastCentrik a Trackless Vám ukáže měřicí token - řetězec začínající na tlc_. V GTM použijte variantu níže, která script vytvoří dynamicky a token na něj nastaví až v prohlížeči:
<script>
(function () {
var s = document.createElement('script');
s.async = true;
s.src = 'https://c.trackless.cz/t.js';
s.setAttribute('data-token', 'VAS_MERICI_TOKEN');
document.head.appendChild(s);
})();
</script>
V běžném HTML by stačil zápis <script async src="https://c.trackless.cz/t.js" data-token="...">. U FastCentriku ale kód vkládáte přes GTM a v testu se ukázalo, že GTM může atribut data-token z externího scriptu ve výsledném DOM zahodit. Dynamické vložení tomu předchází.
Krok 2: Připojte FastCentrik ke Google Tag Manageru
Otevřete administraci FastCentriku, přejděte do Nastavení -> Aplikace 3. stran -> Google Tag Manager a vložte své GTM ID, například GTM-XXXXXXX. Pokud GTM ještě nemáte, vytvořte si v Google Tag Manageru nový webový kontejner.
Do FastCentriku se vkládá jen ID kontejneru. Samotné Trackless kódy vkládáte až v GTM jako značky Vlastní HTML.
V GTM založte značku pro návštěvnost
- Otevřete svůj GTM kontejner a klikněte na Tags -> New -> Tag Configuration -> Custom HTML / Vlastní HTML.
- Vložte základní Trackless kód z kroku 1, nahraďte
VAS_MERICI_TOKENtokenem z Trackless a značku pojmenujte například Trackless - návštěvnost. - U této značky nastavte Triggering -> All Pages. Musí běžet na všech stránkách e-shopu.
- Značku uložte. Kontejner zatím nemusíte publikovat; nejdřív přidejte objednávkovou značku v dalším kroku.
Tato první značka měří návštěvy. Objednávky bude posílat až druhá značka z kroku 3.
Krok 3: Přidejte objednávkovou značku
FastCentrik u nastavení Google Tag Manageru uvádí, že spolu s kontejnerem vkládá i datovou vrstvu a na potvrzení objednávky e-commerce data pro Google Analytics. Samostatný checkbox proto v některých administracích nemusí být vidět. Do druhé GTM značky vložte konverzní kód Trackless níže:
<script>
(function () {
window.trackless = window.trackless || function () {
(window.trackless.q = window.trackless.q || []).push(arguments);
};
var sent = false;
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 first(obj, keys) {
if (!obj) { return null; }
for (var i = 0; i < keys.length; i++) {
if (obj[keys[i]] != null && obj[keys[i]] !== '') { return obj[keys[i]]; }
}
return null;
}
function lineTotal(items) {
if (!items || !items.length) { return null; }
var sum = 0;
var found = false;
for (var i = 0; i < items.length; i++) {
var item = items[i] || {};
var total = first(item, ['total', 'item_total', 'line_total', 'item_revenue', 'revenue', 'value']);
if (total != null) {
sum += num(total);
found = true;
continue;
}
var price = first(item, ['price', 'item_price', 'unitPrice', 'unit_price']);
if (price == null) { continue; }
var qty = first(item, ['quantity', 'qty', 'item_quantity']);
qty = qty == null ? 1 : num(qty);
if (!qty) { continue; }
sum += num(price) * qty;
found = true;
}
return found ? sum : null;
}
function order(entry) {
if (!entry) { return null; }
var isFastCentrikPurchase = entry.event === 'trackPurchase' || entry.transactionId != null;
if (isFastCentrikPurchase && entry.transactionId != null && entry.transactionId !== '') {
return {
id: entry.transactionId,
value: entry.transactionTotal,
currency: entry.transactionCurrency || 'CZK',
products: lineTotal(entry.transactionProducts),
shipping: first(entry, ['transactionShipping', 'transactionShippingTotal', 'shipping'])
};
}
if (entry.event === 'purchase' && entry.ecommerce && entry.ecommerce.transaction_id != null) {
return {
id: entry.ecommerce.transaction_id,
value: entry.ecommerce.value,
currency: entry.ecommerce.currency || 'CZK',
products: lineTotal(entry.ecommerce.items || entry.items),
shipping: first(entry.ecommerce, ['shipping', 'shipping_tax_excl', 'shipping_tax_incl'])
};
}
if (entry[1] === 'purchase' && entry[2] && entry[2].transaction_id != null) {
return {
id: entry[2].transaction_id,
value: entry[2].value,
currency: entry[2].currency || 'CZK',
products: lineTotal(entry[2].items),
shipping: first(entry[2], ['shipping', 'shipping_tax_excl', 'shipping_tax_incl'])
};
}
return null;
}
function handle(entry) {
try {
if (sent) { return; }
var o = order(entry);
if (!o || o.id == null || o.id === '') { return; }
sent = true;
var props = { type: 'order', id: String(o.id), value: num(o.value), currency: String(o.currency || 'CZK'), page_type: 'order' };
if (o.products != null) {
props.products_tax_excl = num(o.products);
props.products_tax_incl = num(o.products);
}
if (o.shipping != null && o.shipping !== '') {
props.shipping_tax_excl = num(o.shipping);
props.shipping_tax_incl = num(o.shipping);
}
window.trackless('event', props);
} catch (e) { /* nikdy neshodit dekovaci stranku */ }
}
function scan() {
var dl = window.dataLayer || [];
for (var i = 0; i < dl.length; i++) { handle(dl[i]); }
}
try {
var dl = window.dataLayer = window.dataLayer || [];
scan();
var origPush = dl.push;
dl.push = function () {
for (var i = 0; i < arguments.length; i++) { handle(arguments[i]); }
return origPush.apply(this, arguments);
};
if (document.readyState !== 'loading') { scan(); }
else { document.addEventListener('DOMContentLoaded', scan); }
window.addEventListener('load', scan);
} catch (e) { /* nikdy neshodit dekovaci stranku */ }
})();
</script>
Kód čte číslo a hodnotu objednávky z datové vrstvy FastCentriku (transactionId / transactionTotal, případně z novější události purchase pro Google Analytics 4). Pokud je dostupné transactionProducts nebo ecommerce.items, pošle zvlášť hodnotu produktů, aby se do produktových tržeb nepočítala doprava a platba. Pokud položky v datové vrstvě nejsou, Trackless použije celkovou hodnotu objednávky podobně jako u jednoduchých klientských integrací.
V GTM založte značku pro objednávky
- Klikněte znovu na Tags -> New -> Tag Configuration -> Custom HTML / Vlastní HTML, vložte konverzní kód z tohoto kroku a značku pojmenujte například Trackless - objednávka.
- U objednávkové značky vytvořte trigger Page View -> Some Page Views s pravidlem Page URL contains objednavka-dokoncena.
- Objednávkovou značku nespouštějte na All Pages. Má se spustit jen na děkovací stránce po dokončení objednávky.
- Značku uložte. Pokud v GTM používáte Consent Mode nebo vlastní pravidla podle cookie lišty, nastavte spuštění obou Trackless značek podle právního posouzení celého webu.
Po tomto kroku máte v GTM dvě značky: Trackless - návštěvnost na všechny stránky a Trackless - objednávka jen na děkovací stránku.
Krok 4: Ověřte, že měření běží
V GTM klikněte na Preview, otevřete e-shop přes náhled a projděte běžnou stránku i testovací objednávku. Pokud značky běží správně, publikujte kontejner přes Submit / Publish.
- GTM Preview: základní značka Trackless je v Tags Fired na všech stránkách a konverzní značka jen na URL
/objednavka-dokoncena. - Console: u scriptu
https://c.trackless.cz/t.jsmusí být vyplněnýdata-token. Pro kontrolu použijte tento výpis: - Network: filtr
tracklessmá ukázat nejen staženít.js, ale i další požadavek na Trackless endpoint. Samotné stažení scriptu ještě neznamená odeslané měření. - DataLayer: na děkovací stránce zkontrolujte, že
window.dataLayerobsahujetransactionId/transactionTotala ideálně takétransactionProducts, nebo událostpurchases objektemecommerceaitems.
[...document.scripts]
.filter(s => s.src.includes('c.trackless.cz/t.js'))
.map(s => ({
src: s.src,
token: s.getAttribute('data-token'),
outerHTML: s.outerHTML
}))
Reálné nasazení na FastCentriku jsme ověřili: po dynamickém vložení základní značky přes GTM dorazily návštěvy i objednávka. Pokud kontrolní výpis vrací u tokenu null, základní značka je v GTM vložená špatně - použijte dynamický kód z kroku 1. Pokud token sedí, ale v Network není další požadavek nebo v Trackless administraci nic nepřibývá, hledejte problém v blokování prohlížečem, ve tvaru dataLayer, v triggeru konverzní značky nebo ve špatném webu/tokenu v administraci Trackless.
Co budete měřit
- Měřicí kód běží v prohlížeči, takže při agresivním blokování měřicích skriptů může část návštěv chybět. V běžném nastavení ale Trackless nebývá blokovaný; trendy a poměry zdrojů zůstávají vypovídající.
- 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 jako konverze - včetně hodnoty, měny, čísla objednávky a produktové tržby bez dopravy a platby, pokud ji FastCentrik v datové vrstvě předá odděleně.
Limity, ať víte, do čeho jdete
- Měřicí kód běží v prohlížeči, takže při agresivním blokování měřicích skriptů může část návštěv chybět. V běžném nastavení ale Trackless nebývá blokovaný; trendy a poměry zdrojů zůstávají vypovídající.
- Objednávka z GTM se uloží jako
browser_unverified: započítá se do běžných statistik objednávek, tržeb a konverzí, ale nezapočítá se do fakturace ani cenového pásma. Když datová vrstva obsahuje položky, Trackless oddělí produktovou tržbu od dopravy a platby; rozpis DPH, marže, vratky a plné položky vyžadují serverové nebo API napojení. - 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í měřicí kód můj e-shop?
Ne. Skript je malý a načítá se asynchronně (atribut async), takže nebrzdí vykreslování stránky. A když se nenačte, e-shop běží dál, jako by tam kód nebyl.
Můžu Trackless používat společně s Google Analytics 4?
Ano. Oba kódy mohou běžet vedle sebe a nijak se neovlivňují - Trackless dokonce čte tutéž datovou vrstvu, kterou FastCentrik připravuje pro Google. 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é GA4 kvůli odmítnutým analytickým cookies započítá 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 (server_verified); prohlížečově neověřené objednávky (browser_unverified) z tohoto napojení ho nezvyšují. Konkrétní částky najdete v ceníku.
Na webu píšete „bez JavaScriptu“ - a tohle je JavaScript. 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, vložení kódu dalších pět. Prvních 30 dní neplatíte nic.