Příručka marketéra: Importování nákladů do Google Analytics z jiných systémů než AdWords (Sklik, Facebook)

Rozčiluje vás, že nemůžete používat Google Analytics pro porovnání efektivity jednotlivých akvizičních nástrojů ve smyslu PNO (ROAS) a že nemáte v Analytics zkrátka údaje o nákladech na kampaně z jiných zdrojů než je Google AdWords?

Tento problém je řešitelný pomocí nástroje “Import údajů” v Google Analytics. Najdete ho na úrovni služby a můžete pomocí něj naimportovat mimo jiné i údaje o nákladech na jednotlivé kampaně.

Čemu jsem se ale chtěl vyhnout, je nutnost náklady importovat pravidelně ručně, což je možné pomocí speciálního CSV formátu. Naštěstí je možné uploadovat údaje přes API.

Moje řešení je založeno na Google Apps Script a využívá již předpřipravené knihovny pro komunikaci s Google Analytics. Pro komunikaci s Sklik jsem se inspiroval knihovnou od Standy Jílka a pro komunikaci s Facebookem jsem napsal skript od začátku na základě dobře zpracované dokumentace.

Budu zde popisovat způsob, který počítá s tím, že máme multi account (business, MCC) účty a chceme importovat data z účtů pod těmito multi accounts. Pokud máte ale zájem nahrávat data z přímých účtů, je možné skripty snadno upravit nebo mi napište a já vám skripty upravím sám.

Příprava Google Analytics pro import nákladů

V rámci Google Analytics na úrovni služby je k dispozici volba “Import nákladů”, zde klikneme na červené tlačítko “Vytvořit”.

Typ souboru dat vybereme jako “Údaje o nákladech”, název vyplníme například na “Sklik+FB Costs” a níže zvolíme výběry dat, do kterých chceme data ukládat (pokud máme pouze jeden, pak ho jednoduše označíme).

Do sekce “Je nutné uvést alespoň jeden z těchto sloupců” označíme “Cena”, “Kliknutí, “Zobrazení”. Do sekce “Je možné uvést” označíme položku “Kampaň”. Jako poslední označte v “Chování importu” volbu “Přepsání”. A klikneme na “Uložit”.

Důležité pro nás bude “ID souboru dat”, které nám bylo vygenerováno.

Je nutné poznamenat, že celé řešení je založeno na párování na základě utm parametrů, které jsou nastaveny v případě Skliku pomocí funkce “Automatické tagování URL” tak, že se v utm_campaign zasílá název kampaně z Skliku ({campaign}). V případě Facebooku je pak řešení nutně (kvůli absenci auto-taggingu) mírně rafinovanější, a tak můžete u reklamy ve Facebook Ads nastavit do “URL parameters” jako hodotu utm_campaign cokoliv, co vám vyhovuje, a při nahrávání údajů o nákladech se s tím skript vypořádá.

Import nákladů z Skliku

Přihlásíme se do Google účtu, ve kterém máme přístup ke Google Analytics, do kterých chceme údaje o nákladech nahrávat.

V Google Drive založíme nový Google Sheet dokument, ve které klikneme na “Nástroje -> Editor skriptů”.

V Google Apps Script pojmenujeme skript například jako “SklikCostsToGA”.

Následně klikneme na “Zdroje -> Pokročilé služby Google”. Zpřístupníme “Google Analytics API” kliknutím na tlačítko vpravo.

Nyní je velmi důležité povolit “Google Analytics API” v “Google Analytics Console”, na nějž máme odkaz níže v tomto dialogovém okně. Klikneme tedy na odkaz. Ve vyhledávání v knihovnách napíšeme: “Analytics” a vybereme “Analytics API”. V horní části je tlačítko “▶ ENABLE”, na které klikneme.

Nyní přichází čas pro návrat zpět do Google Apps Script. A zkopírování samotného kódu, který bude řešit importování z Skliku do Analytics:

 

Následně je potřeba ve spodní části (ve funkci main()) upravit proměnné, které odpovídají vašim hodnotám pro vaše účty. XXXXXXXX = 8 místné číslo vašeho Google Analytics účtu (je možné zjistit v (“Nastavení účtu -> ID účtu”) YYYYYYYY = ID služby Google Analytics ve formátu UA-číslo-číslo (je možné zjistit v “Nastavení služby -> ID služby”) ZZZZZZZZ = ID souboru dat, které pro nás bylo vygenerováno v sekci “Import nákladů” v Google Analytics AAAAAAAA = e-mail, kterým se přihlašujeme do Skliku BBBBBBBB = heslo, kterým se přihlašujeme do Skliku CCCCCCCC = e-mail účtu v rámci Sklik MCC, ze kterého chceme získávat data   Tento skript importuje náklady vždy za předchozí den. Nyní nastavíme automatické spouštění tohoto importu. To provedeme v “Upravit -> Spouštěče aktuálního projektu”, kde do kolonky “Spustit” nastavíme “main” a do “Události” nastavíme “Řízený časem”, “Počítadlo dní” a “1:00-2:00 hod.”. Tím máme pro Sklik hotovo.

Import nákladů z Facebooku

Pro přístup k datům o FB Ads si budeme muset nejprve zjistit API klíč. Jako první je potřeba si zřídit developerský účet. Dále založit takzvanou aplikaci, přes kterou bude komunikace probíhat. Zde vyplňte jako jméno například “FBCostsToGA” a jako “Category” například “Utilities”. Následně v rozhraní pro správu vaší aplikace přidejte “Marketing API” kliknutím na “Get started”. A v následujícím kroku klikněte na “Get Access Token”. bbb2 Následně zvolíme možnosti “ads_management” a “ads_read” a klikneme na “Get Token”. bbb3 Následně nám je vygenerován dlouhý řetězec znaků (API key), který si zkopírujeme a někam dočasně uložíme. Budeme ho brzy potřebovat. Pokud jste nastavili první skript pro Sklik, bude nyní nastavování pro Facebook o něco kratší. Pokud ne, postupujte podle návodu pro Sklik s odpovídajícími změnami názvu skriptu až do bodu, kdy se vkládá kód skriptu. Na jeho místo vložte tentokrát tento:  


 

Následně je potřeba ve spodní části (ve funkci main()) upravit proměnné, které odpovídají vašim hodnotám pro vaše účty.

XXXXXXXX = 8 místné číslo vašeho Google Analytics účtu (je možné zjistit v (“Nastavení účtu -> ID účtu”)

YYYYYYYY = ID služby Google Analytics ve formátu UA-číslo-číslo (je možné zjistit v “Nastavení služby -> ID služby”)

ZZZZZZZZ = ID souboru dat, které pro nás bylo vygenerováno v sekci “Import nákladů” v Google Analytics

AAAAAAAA = číslo facebookového účtu, které můžete vidět například v Power Editoru při výběru klienta

Je velice důležité nezapomenout vložit Facebook token do buňky A1 Google Spreadsheetu, který je asociovaný s tímto skriptem. Jelikož tento způsob z principu věci nekomunikuje s uživatelem, není možné tento token generovat pomocí autentifikačního procesu. Proto je nutné tento token po vypršení doby platnosti vygenerovat znovu v prostředí Facebook Developers. Token vygenerovaný tímto způsobem má platnost 2 měsíce. Doporučuji si nastavit upomínku například pomocí Google kalendáře na vygenerování nového tokenu vždy po 50 dnech.

Datum expirace tokenu je možné ověřit v nástroji Access Token Debuggerv kolonce Expires je uveden timestamp, který si můžete nechat zkonvertovat na datum pomocí online nástroje.

Tento skript importuje náklady vždy za předchozí den. Nyní nastavíme automatické spouštění tohoto importu. To provedeme v “Upravit -> Spouštěče aktuálního projektu”, kde do kolonky “Spustit” nastavíme “main” a do “Události” nastavíme “Řízený časem”, “Počítadlo dní” a “1:00-2:00 hod.”. Tím máme hotovo i pro Facebook.

Závěr

Nyní se nám budou do Google Analytics nahrávat náklady z Facebooku a Skliku, což jsou v České republice pravděpodobně dva nejčastější zdroje, ze kterých se automaticky náklady do Google Analytics neimportují. V případě Google Adwords to není problém. Pokud máte Google Analytics a AdWords propojené, pak se náklady nahrávají sami.

Náklady můžeme sledovat například v přehledu, který najdeme pod “Akvizice -> Kampaně -> Analýza nákladů”.

Doporučuji po několika dnech zkontrolovat, zda se náklady skutečně v pořádku nahrávají a zda odpovídají skutečným nákladům v systémech. Pokud by byl s nějakým z nich problém, tak se ozvěte, můžu vám pomoci to zkusit opravit. Pokud by vám chyběl nějaký další reklamní systém, kde peníze utrácíte, ozvěte se taktéž.

 

 

 

Zdroje:

https://developers.facebook.com/docs/marketing-api/insights-api/getting-started/v2.8

https://developers.facebook.com/docs/marketing-apis

https://developers.facebook.com/apps/

https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app#fetchurl-params

http://stackoverflow.com/questions/171251/how-can-i-merge-properties-of-two-javascript-objects-dynamically?page=1&tab=votes#tab-top

https://developers.facebook.com/docs/marketing-api/reference/ads-insights

http://www.standajilek.cz/skripty/navody/sklik-api/

http://www.ryanpraski.com/google-analytics-cost-data-import-google-sheets-automated/

http://stackoverflow.com/questions/17204249/why-does-parseint-return-nan-for-08-string-and-return-7-for-07-string

 

Diskuze k článku

  • Kate Hostovecka

    Dobrý den,

    díky moc za návod. Bohužel při snaze nastavit automatický spouštěč skriptu mi skript hlasí chybu „Neplatný znak. (řádek 13, soubor „Kód“)“. Můžete mi prosím poradit, jak chybu odstranit? Díky

  • Ondřej

    U Sklik skriptu mi Google píše: Neplatný znak. (řádek 13, soubor „Kód“)
    Můžete pls poradit?

    Díky

  • Pavel Tlapák

    Hezký den, Matěji, jak je to v případě např. Heuréky a Zboží.cz?

  • Jakub Vytiska

    Hezký den,

    super návod mám jen jeden problém/dotaz. U FB cost mi skript hlásí chybu „TypeError: Nelze přečíst vlastnost „length“ z undefined. (řádek 57, soubor „Kód“)“ může to být tím, že jsem jako facebook acount number použil číslo reklamního bussiness editoru, které je delší než původní počet udávaných znaků klientského čísla? Děkuji :)

    • Filip Jeřábek

      Mám stejný problém… Už se to vyřešilo? děkuji

    • Michal Šimara

      Mělo by stačit na řádku 151 přepsat verzi FB aplikace podle nově vytvořené aplikace.

  • Michal

    Hezký den, vše dle postupu, ale v nákladech se nic neprojevilo, ačkoliv ve správci a importu údajů se zobrazuje naimportovaný jeden soubor. Napadá Vás něco, kde se stala chyba? Má excel sešit na Google Drive obsahovat nějaké názvy sloupců?

  • Ondřej Chvojka

    Pro méně zdatné uživatele, nebo pro ty, co mají s nastavením importu Skliku problémy, je možné využít aplikaci do Mergada viz návod zde: https://www.mergado.cz/aplikace-sklik-ga-importer