{"id":358,"date":"2025-09-11T23:14:29","date_gmt":"2025-09-11T21:14:29","guid":{"rendered":"https:\/\/www.sabatka.net\/en\/?p=358"},"modified":"2025-09-17T17:15:37","modified_gmt":"2025-09-17T15:15:37","slug":"bugs-in-tracking-measurecamp-czechia-2025","status":"publish","type":"post","link":"https:\/\/www.sabatka.net\/cs\/bugs-in-tracking-measurecamp-czechia-2025\/","title":{"rendered":"Chyby v m\u011b\u0159en\u00ed na MeasureCamp Czechia"},"content":{"rendered":"\n<p>\u010cesk\u00fd st\u00e1tn\u00ed sv\u00e1tek webov\u00e9 analytiky. Tradi\u010dn\u011b prvn\u00ed sobotu v z\u00e1\u0159\u00ed. Ano, <a href=\"https:\/\/czechia.measurecamp.org\/\" data-type=\"link\" data-id=\"https:\/\/czechia.measurecamp.org\/\" target=\"_blank\" rel=\"noopener\">MeasureCamp<\/a>.<\/p>\n\n\n\n<p>P\u0159edn\u00e1\u0161ku jsem m\u011bl o chyb\u00e1ch v m\u011b\u0159en\u00ed a jejich monitoringu. \u00da\u010dastn\u00edk\u016fm jsem sl\u00edbil, \u017ee zve\u0159ejn\u00edm slidy.<\/p>\n\n\n\n<div class=\"wp-block-group\">\n<iframe data-src=\"https:\/\/www.slideshare.net\/slideshow\/embed_code\/key\/gU3ip1vYHgIApe?hostedIn=slideshare&#038;page=upload\" width=\"600\" height=\"504\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" data-load-mode=\"1\"><\/iframe>\n<\/div>\n\n\n\n<p>Slidy byly ale jen dopln\u011bk k prezentaci. Praktick\u00e9 p\u0159\u00edklady najdete v exportu GTM.<br>Pro analytiky je stejn\u011b JSON s Exportem z GTM \u010diteln\u011bj\u0161\u00ed ne\u017e n\u011bjak\u00e9 PowerPoint slidy, \u017ee.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n<a href=\"https:\/\/www.sabatka.net\/wp-content\/uploads\/2025\/09\/bugs-in-tracking-sample-GTM.json\" download>\n<img fetchpriority=\"high\" decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/www.sabatka.net\/wp-content\/uploads\/2025\/09\/json-icon.png\" alt=\"\" class=\"wp-image-362\" style=\"object-fit:cover;width:200px;height:200px\" srcset=\"https:\/\/www.sabatka.net\/wp-content\/uploads\/2025\/09\/json-icon-300x300.png 300w, https:\/\/www.sabatka.net\/wp-content\/uploads\/2025\/09\/json-icon-150x150.png 150w\" sizes=\"(max-width: 300px) 100vw, 300px\">\n<\/a>\n<\/figure>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Jak sledovat chyby v m\u011b\u0159en\u00ed<\/h2>\n\n\n\n<p>P\u0159edn\u00e1\u0161ky na MeasureCamp nejsou nahr\u00e1v\u00e1ny. P\u0159id\u00e1v\u00e1m tedy aspo\u0148 bodov\u00e9 doporu\u010den\u00ed z p\u0159edn\u00e1\u0161ky. Pokud by V\u00e1s n\u011bjak\u00e9 t\u00e9ma zaujalo ale nen\u00ed vysv\u011btleno dostate\u010dn\u011b, <a href=\"https:\/\/www.linkedin.com\/in\/pavel-sabatka\/\" data-type=\"link\" data-id=\"https:\/\/www.linkedin.com\/in\/pavel-sabatka\/\" target=\"_blank\" rel=\"noopener\">napi\u0161te mi na LinkedIn<\/a>. P\u0159id\u00e1m to do publika\u010dn\u00edho pl\u00e1nu na blogu.<\/p>\n\n\n\n<p>Co tedy d\u011blat?<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Zeptejte se v\u00fdvoj\u00e1\u0159\u016f<\/h3>\n\n\n\n<p>V\u011bt\u0161inou maj\u00ed n\u011bjak\u00e9 n\u00e1stroje typu <a href=\"https:\/\/sentry.io\/welcome\/\" data-type=\"link\" data-id=\"https:\/\/sentry.io\/welcome\/\" target=\"_blank\" rel=\"noopener\">Sentry<\/a> nebo jin\u00fd n\u00e1stroj pro automatick\u00fd sb\u011br chyb z webu. Pokud si vyfiltrujete z\u00e1znamy, kter\u00e9 v\u00e1s zaj\u00edmaj\u00ed, je to prvn\u00ed skv\u011bl\u00fd krok.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Error Listener<\/h3>\n\n\n\n<p>V GTM m\u016f\u017eete nastavit listener na javascriptov\u00e9 chyby. Se zprovozn\u011bn\u00edm <a href=\"https:\/\/www.simoahava.com\/gtm-tips\/track-javascript-errors-events\/\" target=\"_blank\" rel=\"noopener\">m\u016f\u017ee pomoct Sim\u016fv \u010dl\u00e1nek<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Custom Scripty<\/h3>\n\n\n\n<p>Pokud pou\u017e\u00edv\u00e1te &#8222;Custom HTML&#8220; zna\u010dky, m\u011bly by vyu\u017e\u00edvat n\u00e1sleduj\u00edc\u00ed strukturu. To v\u00e1m pom\u016f\u017ee monitorovat chyby ve zna\u010dk\u00e1ch.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>(function() {\n  try {\n\n    \/\/ your code is here\n\n    {{GTM}}.onHtmlSuccess();\n  } catch (e) {\n    {{Util \u2013 Log Error}}(\u201eJS Error in tag TAG_NAME\u201c, e);\n    {{GTM}}.onHtmlFailure();\n  }\n})();<\/code><\/pre>\n\n\n\n<p>Je t\u0159eba m\u00edt vytvo\u0159en\u00e9 prom\u011bnn\u00e9 typu custom Javascript<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>{{GTM}}<\/code> &#8211; vrac\u00ed <code>window.google_tag_manager[{{Container ID}}]<\/code><\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>{{Util - Log Error}}<\/code> &#8211; vrac\u00ed funkci, kter\u00e1 pushne data do dataLayer<\/li>\n<\/ul>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">4. Pou\u017e\u00edvejte Tag Monitor<\/h3>\n\n\n\n<p>Pou\u017e\u00edt try-catch m\u016f\u017eete jen v &#8222;Custom HTML&#8220;. Pokud chcete monitorovat i tagy ze \u0161ablon, je pot\u0159eba pou\u017e\u00edt <a href=\"https:\/\/developers.google.com\/tag-platform\/tag-manager\/templates\/api#addeventcallback\" target=\"_blank\" rel=\"noopener\">addEventCallback<\/a>. A pokud se v\u00e1m nechce ps\u00e1t si vlastn\u00ed \u0161ablonu, m\u016f\u017eete pou\u017e\u00edt t\u0159eba <a href=\"https:\/\/tagmanager.google.com\/gallery\/#\/owners\/gtm-templates-simo-ahava\/templates\/google-tag-manager-monitor\" target=\"_blank\" rel=\"noopener\">Simov\u016fv Tag Manager Monitor<\/a>.<\/p>\n\n\n\n<p>S pomoc\u00ed callbacku m\u016f\u017eete monitorovat nejen stav dokon\u010den\u00ed, ale tak\u00e9 rychlost zpracov\u00e1n\u00ed jednotliv\u00fdch tag\u016f. Pokud nap\u0159. trv\u00e1 zpracov\u00e1n\u00ed tagu d\u00e9le jak 500 ms, m\u016f\u017ee v\u00e1m doj\u00edt upozorn\u011bn\u00ed.<\/p>\n\n\n\n<p>Pokud budete Tag Monitor pou\u017e\u00edvat, m\u00e1te v callbacku k dispozici pouze \u010d\u00edseln\u00e9 ID tagu. Doporu\u010duji proto v\u017edy povolit p\u0159ed\u00e1n\u00ed jm\u00e9na tagu do callbacku, a to u ka\u017ed\u00e9 zna\u010dky &#8211; nastaven\u00ed provedete takto:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"768\" height=\"357\" data-src=\"https:\/\/www.sabatka.net\/wp-content\/uploads\/2025\/09\/gtm-additional-tag-metadata-name.png\" alt=\"\" class=\"wp-image-366 lazyload\" data-srcset=\"https:\/\/www.sabatka.net\/wp-content\/uploads\/2025\/09\/gtm-additional-tag-metadata-name.png 768w, https:\/\/www.sabatka.net\/wp-content\/uploads\/2025\/09\/gtm-additional-tag-metadata-name-300x139.png 300w\" data-sizes=\"(max-width: 768px) 100vw, 768px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 768px; --smush-placeholder-aspect-ratio: 768\/357;\" \/><\/figure>\n\n\n\n<p>Ano, to je ta \u010d\u00e1st GTM, kterou je\u0161t\u011b nikdo nikdy nevid\u011bl.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Pi\u0161te testy \u0161ablon\u00e1m<\/h3>\n\n\n\n<p>P\u00ed\u0161ete vlastn\u00ed \u0161ablony? Pi\u0161te k nim i testy. Ka\u017ed\u00fd test napsan\u00fd dnes u\u0161et\u0159\u00ed hromadu vr\u00e1sek v budoucnu.<\/p>\n\n\n\n<p>Bez test\u016f je vid\u011bt, \u017ee to s \u0161ablonou nemysl\u00edte v\u00e1\u017en\u011b.<\/p>\n\n\n\n<p>Osobn\u011b ke v\u0161em \u00faprav\u00e1m <a href=\"https:\/\/tagmanager.google.com\/gallery\/#\/owners\/pavelsabatka\/templates\/gtm-sklik\" target=\"_blank\" rel=\"noopener\">\u0161ablony pro Sklik<\/a> pou\u017e\u00edv\u00e1m <a href=\"https:\/\/cs.wikipedia.org\/wiki\/Testov%C3%A1n%C3%ADm_%C5%99%C3%ADzen%C3%BD_v%C3%BDvoj\" target=\"_blank\" rel=\"noopener\">test-driven development<\/a>. Funguje to a \u0161et\u0159\u00ed to hromady \u010dasu.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6. Kontrolujte sou\u010dty<\/h3>\n\n\n\n<p>Definujte si s klientem sou\u010dty, kter\u00e9 mus\u00ed sed\u011bt. Nap\u0159.:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hodnota objedn\u00e1vky = hodnota produkt\u016f &#8211; slevy &#8211; voucher<\/li>\n\n\n\n<li>Celkov\u00e1 hodnota = hodnota objedn\u00e1vky + cena dopravy + cena platby + da\u0148<\/li>\n<\/ul>\n\n\n\n<p>Tyto sou\u010dty pak m\u016f\u017eete v GTM kontrolovat.<\/p>\n\n\n\n<p>Kv\u016fli rychlosti bych nekontroloval ka\u017edou ud\u00e1lost. Jen ty kl\u00ed\u010dov\u00e9, nap\u0159. objedn\u00e1vku.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">7. Nastavte si upozorn\u011bn\u00ed<\/h3>\n\n\n\n<p>Abyste mohli chybu opravit co nejd\u0159\u00edv, mus\u00edte o n\u00ed co nejd\u0159\u00edv v\u011bd\u011bt. Ne\u010dekejte a\u017e v\u00e1m nap\u00ed\u0161e klient. Nastavte si mechanizmy, kter\u00e9 budou data kontrolovat automaticky. M\u016f\u017eete<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Nastavit Insights v GA4<\/li>\n\n\n\n<li>Vyu\u017e\u00edt Assertions v DataForm v BigQuery<\/li>\n\n\n\n<li>Pou\u017e\u00edt n\u011bjak\u00e9 vlastn\u00ed testy<\/li>\n<\/ul>\n\n\n\n<p>Osobn\u011b pou\u017e\u00edv\u00e1m vlastn\u00ed n\u00e1stroj, kter\u00fd nad m\u00fdmi projekty provede p\u0159es 100 kontrol zalo\u017een\u00fdch na v\u0161ech probl\u00e9mech, kter\u00e9 jsem v kari\u00e9\u0159e za\u017eil.<\/p>\n\n\n\n<p>Chci z n\u011bj vytvo\u0159it slu\u017ebu. Pokud v\u00e1s to zaj\u00edm\u00e1 mrkn\u011bte na str\u00e1nku a m\u016f\u017eete mi nechat mail.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.sabatka.net\/cs\/data-quality-monitor-for-ga4\/\">Zaj\u00edm\u00e1 m\u011b automatick\u00e9 testov\u00e1n\u00ed<\/a><\/div>\n<\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u010cesk\u00fd st\u00e1tn\u00ed sv\u00e1tek webov\u00e9 analytiky. Tradi\u010dn\u011b prvn\u00ed sobotu v z\u00e1\u0159\u00ed. Ano, MeasureCamp. P\u0159edn\u00e1\u0161ku jsem m\u011bl o chyb\u00e1ch v m\u011b\u0159en\u00ed a jejich monitoringu. \u00da\u010dastn\u00edk\u016fm jsem sl\u00edbil, \u017ee zve\u0159ejn\u00edm slidy. Slidy byly ale jen dopln\u011bk k prezentaci. Praktick\u00e9 p\u0159\u00edklady najdete v exportu GTM.Pro analytiky je stejn\u011b JSON s Exportem z GTM \u010diteln\u011bj\u0161\u00ed ne\u017e n\u011bjak\u00e9 PowerPoint slidy, \u017ee. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,9],"tags":[],"class_list":["post-358","post","type-post","status-publish","format-standard","hentry","category-gtm","category-digitalni-analytika"],"_links":{"self":[{"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/posts\/358","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/comments?post=358"}],"version-history":[{"count":37,"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/posts\/358\/revisions"}],"predecessor-version":[{"id":415,"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/posts\/358\/revisions\/415"}],"wp:attachment":[{"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/media?parent=358"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/categories?post=358"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/tags?post=358"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}