Extrakce hodnoty z řetězce v GTM

Tohle se vám bude hodit, když budete potřebovat extrahovat hodnotu z řetězce (například název produktu z nadpisu). Tomuto tématu se určitě věnovalo již mnoho článků, ale my se podíváme na konkrétní příklad z praxe.

Tento návod je zaměřený na práci s Universal Analytics. Ty nahradí v červnu 2023 Google Analytics 4. Jestli jste ještě nepřešli na novou verzi, nebo máte potíže, kontaktujte nás.

Situace

Máte e-shop s motorovým olejem. Rádi byste změřili, zda se 4litrové lahve prodávají lépe než 208litrové sudy. Bohužel, vaše měření na to není nastaveno, protože vás při vytváření struktury dataLayer ani nenapadlo, že byste to někdy chtěli měřit.

Těmto problémům můžete předcházet. Přečtěte si, proč používat datovou vrstvu, a jak ji správně nastavit.

Řekněme, že vývojáři si za úpravu struktury datové vrstvy účtují hodně peněz, tak jste odkázáni sami na sebe.

Naštěstí jste si všimli, že názvy vašich produktů se řídí přesnou jmennou konvencí.

  • Total Hydroflo CT 20L TOTAL 20001218
  • Castrol Magnatec A3/B4 10W40 4L CASTROL 11001209
  • Mobil Nuto H 46 20L MOBIL 15001011

Další dobrou zprávou je, že název produktu se do struktury dataLayer vloží jako proměnná s názvem productName (ano, analytici jsou velmi kreativní).

Cíl akce

Váš úkol je prostý. Zjistit, jak z názvů produktů získat jejich objem a odeslat izolovanou proměnnou do služby Google Analytics jako vlastní metriku.

Jak na to?

Nejvíce nám pomohou vlastní proměnné vytvořené v GTM kontejneru (tzv. Custom JavaScript Variables).

function() {
  var pn = {{productName}};
  return pn.split(" ").slice(-3).shift().split("L").shift()
}

Podívejme se, co tato funkce dělá

První metoda, split(); rozdělí proměnnou productName uloženou v objektu datové vrstvy do pole. Jako oddělovače slouží mezery. Název produktu jste změnili na pole, které vypadá takto: ["Total", "Hydroflo", "CT", "20L", "TOTAL", "20001218"]

Druhá metoda, slice(-3); vybere poslední tři objekty z původního pole a zbytek zahodí. Nyní máte: ["20L", "TOTAL", "20001218"].

Třetí metoda, shift(); vybere první objekt pole a ostatní zahodí. Voila, zůstane vám jeden řetězec: "20L".

Zůstal ještě jeden problém. Google Analytics tento řetězec nepřijme jako vlastní metriku, protože se nejedná ani o celé číslo, ani o desetinné číslo, ani o časovou hodnotu. Zbavme se písmene „L“ v řetězci. Použitím metod split();shift(); připravíme hodnotu pro vstup do GA.

Už jsme skoro v cíli

Jakmile tuto proměnnou sestavíte, odešlete ji spolu s Enhanced Ecommerce objektem při zobrazení stránky nebo spuštění události jako vlastní metriku.

Nezapomeňte nejprve nastavit vlastní metriku v Universal Analytics. Nastavte rozsah metriky na „Produkt“, protože tuto proměnnou budete odesílat pouze při událostech nebo zobrazení stránky souvisejících s produktem.

Chcete se dozvědět více o magii v GTM? Více informací najdete v našem newsletteru.

Žádný spam, žádné otravné prodejní nabídky.

Výsledky

Pomocí zdravého rozumu a trochy jednoduchého JavaScriptu se vám podařilo obohatit reporty GA. Čas na vítězný taneček!

Pokud chcete proniknout do hloubky JavaScriptu v GTM, Simo má velmi dobrý kurz.

Honza Felt
Honza Felt

Ředitel

Honza Felt začal svou kariéru v PR agentuře, a postupně se díky sérii šťastných náhod dostal k analytice a kampaním. Nyní vede CF Agency. Nejraději řeší problémy, kde může uplatnit znalost marketingu v kombinaci s daty a reklamními technologiemi.