SlideShare a Scribd company logo
1 of 33
Download to read offline
Automatizace ST optimalizace
Lukas Vozda
Analytics & Automation
Úvod
Co je to ST optimalizace
• na klíčová slova se nám lepí nové vyhledávací dotazy
• nutná pravidelná hygiena (vyloučit / přidat nové kws)
• rutinní práce, která se z mých zkušeností lidem nechce dělat pečlivě
Dva typy problému
• pořádek a přehled u všech klientů na úrovni agentury
• samotná ST optimalizace
Na úrovni agentury...
• Kdo má u konkrétního klienta optimalizaci na starost?
• Kdy naposledy optimalizace proběhla?
• Při větším množství klientů v agentuře může nastat chaos...
Objednávkový systém
• přes koho se přihlásit do účtů (API tokeny => netřeba hesla)
• komu má být nasdílený sheet
• odkaz na sheet
• do jaké hloubky impresí chceme data získat
• od kdy do kdy chceme ST automatizaci provést
Objednávkový systém
• tabulka na Google sheetech
• přehledný seznam všech agenturních klientů
Výhoda Google sheetů
• version control
• lze se jednoduše vrátit k původním datům
Postup ST opt.
• hecnout se
• určit si období (pamatovat si?)
• stáhnout data z rozhraní Google Ads / Sklik
• spojit data
• deduplikovat data
• naformátovat data pro příjemnější práci
• zoptimalizovat
• zkontrolovat a naimportovat do editoru
3 typické situace
• search term přidáme do původní sestavy
• search term vyloučíme
• search term vyloučíme z původní sestavy a přidáme do nové
Vyloučení nežádoucích ST
Přidání do nové sestavy
Řešení ST
Použité technologie
● management na úrovni
agentury
● každý klient vlastní sheet s
vygenerovaným výstupem
● stahování dat AdWords/Sklik API
● zpracování dat a optimalizace
● správa klientských sheetů přes API
● všechno běží v GC na virtual
machine
Komponenty
• modul řídící spreadsheety (knihovna gspread)
• každý klient dostane svůj spreadsheet
• ten je nasdílen patřičným lidem
• skript stahující data z Sklik API
• skript stahující data z AdWords API
• hlavní modul s celou logikou
• zpracování dat
• paralelně = každý klient ve vlastním vlákně
Správa spreadsheetů
• python knihovna gspread
Vytvoření spreadsheetu
spreadsheet = gs_client.create(spreadsheet_name)
Nasdílení konkrétní osobě
spreadsheet.share('lukas.vozda@proficio.cz', perm_type=user, role='writer')
Nasdílení všem v agentuře
spreadsheet.share('proficio.cz', perm_type='domain', role='writer')
Kroky algoritmu
• sloučení dat (AdWords + Sklik)
• ohodnocení dotazu na základě toho jak se liší od keywordu
• analýza slov, které jsou v dotazu navíc
• ohodnocení dotazu na základě metrik ve srovnání s celým účtem
• rozhodnutí, jak bude s dotazem naloženo
• uložení do paměti, pro případné opakované výskyty
• upload do sheetu
Keyword vs Search term
• algoritmus Levenshtein distance (známý z Open refine - klastrovací technika)
• Jaro-Winkler distance
• alternativa: fuzzywuzzy knihovna
distance(“saunová kamna”, “levná saunová kamna”) => 6
jaro(“saunová kamna”, “levná saunová kamna”) => 0.74
Problémy s ČJ
• diakritika
• slovosled
distance(“servis sauny”, “sauny servis”) => 10
distance(“Dámské bílé župany”, “damske bile zupany”) => 6
Převedení do normalizované podoby
• odstranění diakritiky
• lowercase
• token sort
Dámské bílé župany -> bile damske zupany
bile zupany damske -> bile damske zupany
distance(“bile damske zupany”, “bile damske zupany”) => 0
Pozn: knihovna fuzzywuzzy umí token sort automaticky, jsou tam ale další překážky
Extrakce slov
• slova, která jsou v ST navíc si dá skript nejprve bokem (i pro zpětnou kontrolu)
• pak bude rozhodnuto, zda se jen vyloučí nebo vytvoří nové sestavy
Přidat nebo vyloučit
• vypočítají se průměrné statistiky na úrovni všech dat např. průměrné CTR apod.
• podívá se, zda se slovo nenachází v jiných sestavách a jak případně performuje (n-gram
princip)
• tím získáme podklady pro rozhodnutí
Detekce nežádoucích slov
• slova jako zdarma, heureka, recenze, bazar
• ale i levné, výprodej, sleva, exkluzivní
• zatím pro každého klienta definované staticky
Vertikální paměť
• jeden search term (a jeho variace) se může objevit v různých sestavách i kampaních
• člověk si musí pamatovat nebo se vracet v souboru zpátky
• vertikální paměť řeší:
• aby se nevytvářely duplicitní sestavy
• zařazení nových ST do nejprioritnější kampaně/sestavy
Data v UI vs API
• pozor na rozdíl toho, co vidíte v UI vs toho, co vám vrací API :)
• API často ukáže věci, které mi rozhraní nevygeneruje
• toto se stává dost často:
Reálné ukázky
Klient 1
Klient 2
Co dál?
Budoucnost ST?
• biddingové strategie Googlu začínají být samostatné
• smart shopping kampaně nedávají žádná data
Nápady do budoucna
• zapojení DSA kamapní (in progress)
• do nových sestav automaticky navrhovat inzeráty
Děkuji za pozornost
lukas.vozda@proficio.cz

More Related Content

Similar to PROFICIO na PPC Restartu 2018

20101124 Aplikované nástroje SW inženýra
20101124 Aplikované nástroje SW inženýra20101124 Aplikované nástroje SW inženýra
20101124 Aplikované nástroje SW inženýraJiří Mareš
 
Click it - Jak a co měřit pomocí nástroje Google Analytics - workshop 22. 10....
Click it - Jak a co měřit pomocí nástroje Google Analytics - workshop 22. 10....Click it - Jak a co měřit pomocí nástroje Google Analytics - workshop 22. 10....
Click it - Jak a co měřit pomocí nástroje Google Analytics - workshop 22. 10....Sun Marketing
 
Jakub Drahokoupil: Pokládání základů pro obchodní rozhodování
Jakub Drahokoupil: Pokládání základů pro obchodní rozhodováníJakub Drahokoupil: Pokládání základů pro obchodní rozhodování
Jakub Drahokoupil: Pokládání základů pro obchodní rozhodováníH1.cz
 
Digisemestr - Webová analytika chytře s Google Analytics - workshop 16. 11. 2015
Digisemestr - Webová analytika chytře s Google Analytics - workshop 16. 11. 2015Digisemestr - Webová analytika chytře s Google Analytics - workshop 16. 11. 2015
Digisemestr - Webová analytika chytře s Google Analytics - workshop 16. 11. 2015Sun Marketing
 
Přednáška: Google Analytics pro blogerky a blogery
Přednáška: Google Analytics pro blogerky a blogeryPřednáška: Google Analytics pro blogerky a blogery
Přednáška: Google Analytics pro blogerky a blogeryPavel Kotyza
 
Data Restart 2022: Hana Bartoňková a Vojtěch Říha - Kolik mi vydělá jeden člá...
Data Restart 2022: Hana Bartoňková a Vojtěch Říha - Kolik mi vydělá jeden člá...Data Restart 2022: Hana Bartoňková a Vojtěch Říha - Kolik mi vydělá jeden člá...
Data Restart 2022: Hana Bartoňková a Vojtěch Říha - Kolik mi vydělá jeden člá...Taste
 
Jak na Smartlook, nejen pro Shoptet
Jak na Smartlook, nejen pro ShoptetJak na Smartlook, nejen pro Shoptet
Jak na Smartlook, nejen pro ShoptetMarek Čech
 
PPC na stojáka - Efektivní práce s nástrojem ppcHit
PPC na stojáka - Efektivní práce s nástrojem ppcHitPPC na stojáka - Efektivní práce s nástrojem ppcHit
PPC na stojáka - Efektivní práce s nástrojem ppcHitJiří Lesňák
 
PPC na stoják - ppcHIT
PPC na stoják - ppcHITPPC na stoják - ppcHIT
PPC na stoják - ppcHITBESTETO
 
AI Restart 2024: Lukáš Kostka - Automatizace analýzy klíčových slov aneb změn...
AI Restart 2024: Lukáš Kostka - Automatizace analýzy klíčových slov aneb změn...AI Restart 2024: Lukáš Kostka - Automatizace analýzy klíčových slov aneb změn...
AI Restart 2024: Lukáš Kostka - Automatizace analýzy klíčových slov aneb změn...Taste
 
Školení Google Analytics
Školení Google AnalyticsŠkolení Google Analytics
Školení Google AnalyticsIvo Kylián
 
ITSM - Jira Service Desk a spřátelené aplikace z rodiny Atlassian
ITSM - Jira Service Desk a spřátelené aplikace z rodiny AtlassianITSM - Jira Service Desk a spřátelené aplikace z rodiny Atlassian
ITSM - Jira Service Desk a spřátelené aplikace z rodiny AtlassianOnlio
 
Nové »bezhlavé« CMS — přechod od monolitů ke službám
Nové »bezhlavé« CMS — přechod od monolitů ke službámNové »bezhlavé« CMS — přechod od monolitů ke službám
Nové »bezhlavé« CMS — přechod od monolitů ke službámJaroslav Vrána
 
Premier Finance - CRM systém
Premier Finance - CRM systémPremier Finance - CRM systém
Premier Finance - CRM systémPremierFinance
 
Omni-channel data-driven atribuční modelování jednoduše, Marek Kobulský
Omni-channel data-driven atribuční modelování jednoduše, Marek KobulskýOmni-channel data-driven atribuční modelování jednoduše, Marek Kobulský
Omni-channel data-driven atribuční modelování jednoduše, Marek KobulskýDataweps s. r. o.
 
Analýza klíčových slov - Plzeňský Barcamp 2015
Analýza klíčových slov - Plzeňský Barcamp 2015Analýza klíčových slov - Plzeňský Barcamp 2015
Analýza klíčových slov - Plzeňský Barcamp 2015Jakub Kašparů
 
2018 11-28 snidane-serie-kuchyne
2018 11-28 snidane-serie-kuchyne2018 11-28 snidane-serie-kuchyne
2018 11-28 snidane-serie-kuchyneProfinit
 
Google Tag Manager pro mírně pokročilé
Google Tag Manager pro mírně pokročiléGoogle Tag Manager pro mírně pokročilé
Google Tag Manager pro mírně pokročiléMichal Blažek
 
Michal Blažek - Google Tag Manager pro mírně pokročilé
Michal Blažek - Google Tag Manager pro mírně pokročiléMichal Blažek - Google Tag Manager pro mírně pokročilé
Michal Blažek - Google Tag Manager pro mírně pokročiléeshopvikend
 
Co sledovat a jak měřit u mobilního webu
Co sledovat a jak měřit u mobilního webuCo sledovat a jak měřit u mobilního webu
Co sledovat a jak měřit u mobilního webuAkce Dobrého webu
 

Similar to PROFICIO na PPC Restartu 2018 (20)

20101124 Aplikované nástroje SW inženýra
20101124 Aplikované nástroje SW inženýra20101124 Aplikované nástroje SW inženýra
20101124 Aplikované nástroje SW inženýra
 
Click it - Jak a co měřit pomocí nástroje Google Analytics - workshop 22. 10....
Click it - Jak a co měřit pomocí nástroje Google Analytics - workshop 22. 10....Click it - Jak a co měřit pomocí nástroje Google Analytics - workshop 22. 10....
Click it - Jak a co měřit pomocí nástroje Google Analytics - workshop 22. 10....
 
Jakub Drahokoupil: Pokládání základů pro obchodní rozhodování
Jakub Drahokoupil: Pokládání základů pro obchodní rozhodováníJakub Drahokoupil: Pokládání základů pro obchodní rozhodování
Jakub Drahokoupil: Pokládání základů pro obchodní rozhodování
 
Digisemestr - Webová analytika chytře s Google Analytics - workshop 16. 11. 2015
Digisemestr - Webová analytika chytře s Google Analytics - workshop 16. 11. 2015Digisemestr - Webová analytika chytře s Google Analytics - workshop 16. 11. 2015
Digisemestr - Webová analytika chytře s Google Analytics - workshop 16. 11. 2015
 
Přednáška: Google Analytics pro blogerky a blogery
Přednáška: Google Analytics pro blogerky a blogeryPřednáška: Google Analytics pro blogerky a blogery
Přednáška: Google Analytics pro blogerky a blogery
 
Data Restart 2022: Hana Bartoňková a Vojtěch Říha - Kolik mi vydělá jeden člá...
Data Restart 2022: Hana Bartoňková a Vojtěch Říha - Kolik mi vydělá jeden člá...Data Restart 2022: Hana Bartoňková a Vojtěch Říha - Kolik mi vydělá jeden člá...
Data Restart 2022: Hana Bartoňková a Vojtěch Říha - Kolik mi vydělá jeden člá...
 
Jak na Smartlook, nejen pro Shoptet
Jak na Smartlook, nejen pro ShoptetJak na Smartlook, nejen pro Shoptet
Jak na Smartlook, nejen pro Shoptet
 
PPC na stojáka - Efektivní práce s nástrojem ppcHit
PPC na stojáka - Efektivní práce s nástrojem ppcHitPPC na stojáka - Efektivní práce s nástrojem ppcHit
PPC na stojáka - Efektivní práce s nástrojem ppcHit
 
PPC na stoják - ppcHIT
PPC na stoják - ppcHITPPC na stoják - ppcHIT
PPC na stoják - ppcHIT
 
AI Restart 2024: Lukáš Kostka - Automatizace analýzy klíčových slov aneb změn...
AI Restart 2024: Lukáš Kostka - Automatizace analýzy klíčových slov aneb změn...AI Restart 2024: Lukáš Kostka - Automatizace analýzy klíčových slov aneb změn...
AI Restart 2024: Lukáš Kostka - Automatizace analýzy klíčových slov aneb změn...
 
Školení Google Analytics
Školení Google AnalyticsŠkolení Google Analytics
Školení Google Analytics
 
ITSM - Jira Service Desk a spřátelené aplikace z rodiny Atlassian
ITSM - Jira Service Desk a spřátelené aplikace z rodiny AtlassianITSM - Jira Service Desk a spřátelené aplikace z rodiny Atlassian
ITSM - Jira Service Desk a spřátelené aplikace z rodiny Atlassian
 
Nové »bezhlavé« CMS — přechod od monolitů ke službám
Nové »bezhlavé« CMS — přechod od monolitů ke službámNové »bezhlavé« CMS — přechod od monolitů ke službám
Nové »bezhlavé« CMS — přechod od monolitů ke službám
 
Premier Finance - CRM systém
Premier Finance - CRM systémPremier Finance - CRM systém
Premier Finance - CRM systém
 
Omni-channel data-driven atribuční modelování jednoduše, Marek Kobulský
Omni-channel data-driven atribuční modelování jednoduše, Marek KobulskýOmni-channel data-driven atribuční modelování jednoduše, Marek Kobulský
Omni-channel data-driven atribuční modelování jednoduše, Marek Kobulský
 
Analýza klíčových slov - Plzeňský Barcamp 2015
Analýza klíčových slov - Plzeňský Barcamp 2015Analýza klíčových slov - Plzeňský Barcamp 2015
Analýza klíčových slov - Plzeňský Barcamp 2015
 
2018 11-28 snidane-serie-kuchyne
2018 11-28 snidane-serie-kuchyne2018 11-28 snidane-serie-kuchyne
2018 11-28 snidane-serie-kuchyne
 
Google Tag Manager pro mírně pokročilé
Google Tag Manager pro mírně pokročiléGoogle Tag Manager pro mírně pokročilé
Google Tag Manager pro mírně pokročilé
 
Michal Blažek - Google Tag Manager pro mírně pokročilé
Michal Blažek - Google Tag Manager pro mírně pokročiléMichal Blažek - Google Tag Manager pro mírně pokročilé
Michal Blažek - Google Tag Manager pro mírně pokročilé
 
Co sledovat a jak měřit u mobilního webu
Co sledovat a jak měřit u mobilního webuCo sledovat a jak měřit u mobilního webu
Co sledovat a jak měřit u mobilního webu
 

PROFICIO na PPC Restartu 2018

  • 1. Automatizace ST optimalizace Lukas Vozda Analytics & Automation
  • 3. Co je to ST optimalizace • na klíčová slova se nám lepí nové vyhledávací dotazy • nutná pravidelná hygiena (vyloučit / přidat nové kws) • rutinní práce, která se z mých zkušeností lidem nechce dělat pečlivě
  • 4. Dva typy problému • pořádek a přehled u všech klientů na úrovni agentury • samotná ST optimalizace
  • 5. Na úrovni agentury... • Kdo má u konkrétního klienta optimalizaci na starost? • Kdy naposledy optimalizace proběhla? • Při větším množství klientů v agentuře může nastat chaos...
  • 6. Objednávkový systém • přes koho se přihlásit do účtů (API tokeny => netřeba hesla) • komu má být nasdílený sheet • odkaz na sheet • do jaké hloubky impresí chceme data získat • od kdy do kdy chceme ST automatizaci provést
  • 7. Objednávkový systém • tabulka na Google sheetech • přehledný seznam všech agenturních klientů
  • 8. Výhoda Google sheetů • version control • lze se jednoduše vrátit k původním datům
  • 9. Postup ST opt. • hecnout se • určit si období (pamatovat si?) • stáhnout data z rozhraní Google Ads / Sklik • spojit data • deduplikovat data • naformátovat data pro příjemnější práci • zoptimalizovat • zkontrolovat a naimportovat do editoru
  • 10. 3 typické situace • search term přidáme do původní sestavy • search term vyloučíme • search term vyloučíme z původní sestavy a přidáme do nové
  • 14. Použité technologie ● management na úrovni agentury ● každý klient vlastní sheet s vygenerovaným výstupem ● stahování dat AdWords/Sklik API ● zpracování dat a optimalizace ● správa klientských sheetů přes API ● všechno běží v GC na virtual machine
  • 15. Komponenty • modul řídící spreadsheety (knihovna gspread) • každý klient dostane svůj spreadsheet • ten je nasdílen patřičným lidem • skript stahující data z Sklik API • skript stahující data z AdWords API • hlavní modul s celou logikou • zpracování dat • paralelně = každý klient ve vlastním vlákně
  • 16. Správa spreadsheetů • python knihovna gspread Vytvoření spreadsheetu spreadsheet = gs_client.create(spreadsheet_name) Nasdílení konkrétní osobě spreadsheet.share('lukas.vozda@proficio.cz', perm_type=user, role='writer') Nasdílení všem v agentuře spreadsheet.share('proficio.cz', perm_type='domain', role='writer')
  • 17. Kroky algoritmu • sloučení dat (AdWords + Sklik) • ohodnocení dotazu na základě toho jak se liší od keywordu • analýza slov, které jsou v dotazu navíc • ohodnocení dotazu na základě metrik ve srovnání s celým účtem • rozhodnutí, jak bude s dotazem naloženo • uložení do paměti, pro případné opakované výskyty • upload do sheetu
  • 18. Keyword vs Search term • algoritmus Levenshtein distance (známý z Open refine - klastrovací technika) • Jaro-Winkler distance • alternativa: fuzzywuzzy knihovna distance(“saunová kamna”, “levná saunová kamna”) => 6 jaro(“saunová kamna”, “levná saunová kamna”) => 0.74
  • 19. Problémy s ČJ • diakritika • slovosled distance(“servis sauny”, “sauny servis”) => 10 distance(“Dámské bílé župany”, “damske bile zupany”) => 6
  • 20. Převedení do normalizované podoby • odstranění diakritiky • lowercase • token sort Dámské bílé župany -> bile damske zupany bile zupany damske -> bile damske zupany distance(“bile damske zupany”, “bile damske zupany”) => 0 Pozn: knihovna fuzzywuzzy umí token sort automaticky, jsou tam ale další překážky
  • 21. Extrakce slov • slova, která jsou v ST navíc si dá skript nejprve bokem (i pro zpětnou kontrolu) • pak bude rozhodnuto, zda se jen vyloučí nebo vytvoří nové sestavy
  • 22. Přidat nebo vyloučit • vypočítají se průměrné statistiky na úrovni všech dat např. průměrné CTR apod. • podívá se, zda se slovo nenachází v jiných sestavách a jak případně performuje (n-gram princip) • tím získáme podklady pro rozhodnutí
  • 23. Detekce nežádoucích slov • slova jako zdarma, heureka, recenze, bazar • ale i levné, výprodej, sleva, exkluzivní • zatím pro každého klienta definované staticky
  • 24. Vertikální paměť • jeden search term (a jeho variace) se může objevit v různých sestavách i kampaních • člověk si musí pamatovat nebo se vracet v souboru zpátky • vertikální paměť řeší: • aby se nevytvářely duplicitní sestavy • zařazení nových ST do nejprioritnější kampaně/sestavy
  • 25. Data v UI vs API • pozor na rozdíl toho, co vidíte v UI vs toho, co vám vrací API :) • API často ukáže věci, které mi rozhraní nevygeneruje • toto se stává dost často:
  • 29.
  • 31. Budoucnost ST? • biddingové strategie Googlu začínají být samostatné • smart shopping kampaně nedávají žádná data
  • 32. Nápady do budoucna • zapojení DSA kamapní (in progress) • do nových sestav automaticky navrhovat inzeráty