SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
Making SCALE
Christopher Gutknecht |
ABOUT NORISK – ABOUT ME
norisk Christopher
Alex = ChiefScripter
1.  Gründe für AdWords Scripts
2.  Limitationen von Adwords Scripts
3.  Performance Scaling Tweaks
1.  Laufzeit: Job-Splitting, und Sync Best Practices
2.  Updates: Externes Hosting
4.  Takeaways
FOLIEN:	slideshare.com/norisk
TREND ZU AUTOMATION (& AI)
TREND ZU AUTOMATION (& AI)
GRUNDFRAGE: MAKE OR RENT?
GRUNDFRAGE: MAKE OR RENT?
MAKE SaaSRENT
AdWords
Scripts
API-Tool
SAAS ANBIETERAUSWAHL IST ZEITRAUBEND
BUY
Zeitverlauf
Kosten
SaaS
Toolauswahl
ADWORDS SCRIPTS vs SAAS-TOOL
AdWords
Scripts
API-Tool
BUY
MAKE
Zeitverlauf
Kosten
SaaS
Genauer Anforderungskatalog hilft für beide!
WIESO WIRD „MAKE“ FÜR ADWORDS ATTRAKTIVER?
vs
Feedplattformen
Fertige Adwords Skripte
Ad Customizer & Geschäftsdaten
Code-Tutorial Plattformen
Machine Learning APIs
Camato
Delta Method
Smarter Ecommerce
DIY Toolbausteine
(MAKE)
RENT
GRUNDFRAGE: MAKE OR RENT?
MAKE SaaSRENT
AdWords
Scripts
StandardisierungIndividualisierung
Spezifierbarkeit
Isolierbarkeit
Stabilität
Skalierbarkeit
Komplexität
Fehlendes Know-How
Veränderlichkeit
RÜCKBLICK 2016 vs
SICHTWEISE 2017
ADWORDS SCRIPTS VS API-TOOL
Zusatzkosten einer API-Lösung
•  Wartungskosten
•  API-Kosten
•  Utility-Aufwände (Auth, Log, Email)
•  Skriptüberführung in Java, PHP,
Python
1.  Gründe für AdWords Scripts
2.  Limitationen von Adwords Scripts
3.  Performance Tweaks
1.  Laufzeit: Job-Splitting und Sync Best Practices
2.  Updates: Externes Hosting
4.  Takeaways
LIMITATIONEN VON ADWORDS SCRIPTS
			LAUFZEIT	(30min)	 	 			SPEICHER	(5-10	GB)	
	ENTITY	LIMITS	
	 		SPREADSHEET	(2Mio)	
FEHLENDE	
	METHODEN	
				 				CODESTRUKTUR	
(ES	5)	 UPDATES	
			ERROR-ALERTING	&	
UTILITIES	
						SERVICE	LIMITS	
Limits-Doku: https://developers.google.com/adwords/scripts/docs/limits
Thomas Grübel SMX: bit.ly/inbiz_smx
ZEITDAUER NACH OPERATION
getReportData()	
Selector().get()	
compareListsAndFindGap()	
exportToSheet()	Logger.log()	
getHTTPCode()	
		findTextInSourceCode()	
sendEmail()	
setStatus()	
create(),	remove()	
1. GET
5. UTILITY
3. SET
4. CUSTOM
LOGIC
2. ITERATE
Iterator.next()
TREND ZU AUTOMATION (& AI)
BENCHMARK	
	
LinkCheckerDeluxe	 nrFeedkampagnen	 nrShoppingPGA	
Max	Elemente	/	Stunde	
(	/	Tag)	
3000	
(72k)	
4000	
(92k)	
1000	
(24k)	
OperaYon	 Anzeige	prüfen,	
ggf.	pausieren	
Anlage	AdGroups,	Ads,	
Keywords,	Sitelinks,	Labels	
Abgleich	&	Anlage	
Produktgruppen	
(	 )
1.  Gründe für AdWords Scripts
2.  Limitationen von Adwords Scripts
3.  Performance Tweaks
1.  Laufzeit: Job-Splitting, Log-DB und Sync Best Practices
2.  Updates: Externes Hosting
4.  Takeaways
SKALIERUNG = HOURLY RUNS + JOB-SPLITTING
vs
Iterative Abarbeitung
Speicherung des Zwischenstands
Probleme:
›  Speicherungs & Ladelogik
›  State-Sync-Errors
Einfache Logik
Beliebige Wiederholbarkeit
Siehe Scala, Haskell
Problem: 30 Min Laufzeit
STATELESSNESS JOB-SPLITTING
START W
PROGRESS LOG FÜR JOB SPLITTING
Mögliche Lösungen
LABELS
(/ IF-LOGIK)
GET-STATUS & COMPARE LOG-DB
Use Case Daily Checks
Status update
Feedbasierte Anlage &
Aktualisierung
Elementanlage ohne
Stringsuche
Beispiel LinkChecker AdGroups, Anzeigen, Keywords Produktgruppen
Sitelinks
Limitation Keine 100% Statusgenauigkeit
Labeloperation nicht immer
möglich
GetAll-Methode nicht immer
vorhanden
2 Mio Google-Sheetzeilen
Festlegung Infos
Log nur einmalig sinnvoll
PRAXISTEST: LINKCHECKER DELUXE (HOLGER SCHULZ)
Stündliches Scheduling
Job Splitting per Label
Geiles Ding
Neue Featureideen in Abspache
https://www.internet-marketing-inside.de/AdWords-Scripts/LinkChecker.html
✔
✔
✔
!
Beendet.
HERAUSFORDERUNGEN SYNCHRONISATION
SOLL 1. Get &
Find Gap
IST
(AdWords)
IST-DB
2. Update
SKRIPT
TBD: Log-Infos, Multi-Sheet
3. Log
IST-DB über mehrere Google Sheets mit Wrapper-Library
SYNC BEST PRACTICES I
Wrapper legt neue Sheets nach Bedarf an
Bisherige Sheets als JSON-File in Drive
Laden aller Einträge in Objekt über
globalObject. (ABSTRAKT)
✔
✔
✔
!
https://gist.github.com/norisk-marketing/7cb04d87080dc80c056dc8b1785ded63
Skripte und Versionsupdates zentral verwalten
EXTERNES HOSTING
Aufruf und Eval externerJavascript-Datei
Syntax Ausführung: eval(UrlFetchApp.fetch(url).getContentText());
Erweiterbar über Git / Jenkins Buildpipeline
✔
✔
✔
!
IST-DB Datenzugriff über Object key
SYNC BEST PRACTICES II
Array wird zum Globalobjekt mit Elementname als Key
Syntax Assigment:	globalObject.[elementName]:{}
Syntax Read:	globalObject[elementName]
Faktor 2500 schneller als Array-vergleich
Bsp: Abgleich 10k Datensätze à 0,1 sec = 16 min > 32 sek
✔
✔
✔
✔
ADDON: NORISK-TIMER LIBRARY
Scheduling: Stufenloser Übergang Stündlich zu Täglich
https://gist.github.com/norisk-marketing/9876221a815092fecfec99414b0e28e5
ADDON MCC-LEVEL: PROCESS IN PARALLEL BY LABEL
http://www.freeadwordsscripts.com/2014/11/executeinparallel-on-more-than-50.html
TAKEAWAYS
Stündliches Scheduling und Job Splitting
Job Splitting per Label, Log-DB oder GetStatus
Bei IST-DB, Spreadsheet Wrapper und Objectkey Access
Externes Hosting von Dateien (Geschäftlogik)
Testen, Testen, Testen
✔
✔
✔
✔
✔
WIE ADWORDS SCRIPTS SKALIERBAR WIRD
HAPPY AUTOMATING & SCALING !
GUTKNECHT
Head of Online Marketing
CHRISTOPHER
TWITTER @chrisgutknecht
MAIL cgutknecht@noriskshop.de
https://www.noriskshop.de/blog/category/adwords-scripts/
https://github.com/norisk/AdWords-Scripts
https://gist.github.com/norisk-marketing

Weitere ähnliche Inhalte

Ähnlich wie Making AdWords Scripts Scale

CLOUDPILOTS Präsentation vom 14.07.2011 bei der Hamburger IBM Notes-User Grou...
CLOUDPILOTS Präsentation vom 14.07.2011 bei der Hamburger IBM Notes-User Grou...CLOUDPILOTS Präsentation vom 14.07.2011 bei der Hamburger IBM Notes-User Grou...
CLOUDPILOTS Präsentation vom 14.07.2011 bei der Hamburger IBM Notes-User Grou...CLOUDPILOTS Software & Consulting GmbH
 
GAUC 2017 Workshop App Tracking: Markus Vollmert (lunapark)
GAUC 2017 Workshop App Tracking: Markus Vollmert (lunapark)GAUC 2017 Workshop App Tracking: Markus Vollmert (lunapark)
GAUC 2017 Workshop App Tracking: Markus Vollmert (lunapark)e-dialog GmbH
 
Google Analytics für Einsteiger
Google Analytics für EinsteigerGoogle Analytics für Einsteiger
Google Analytics für Einsteigerguest062667b
 
Lukas Stuber, Angelink: E-Shop-Performance steigern mit Suchmaschinen und Web...
Lukas Stuber, Angelink: E-Shop-Performance steigern mit Suchmaschinen und Web...Lukas Stuber, Angelink: E-Shop-Performance steigern mit Suchmaschinen und Web...
Lukas Stuber, Angelink: E-Shop-Performance steigern mit Suchmaschinen und Web...Carpathia AG
 
Sea Camp 2017 | Vortrag Automatisierte Feedkampagnen selbst erstellen | Judit...
Sea Camp 2017 | Vortrag Automatisierte Feedkampagnen selbst erstellen | Judit...Sea Camp 2017 | Vortrag Automatisierte Feedkampagnen selbst erstellen | Judit...
Sea Camp 2017 | Vortrag Automatisierte Feedkampagnen selbst erstellen | Judit...norisk
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreGregor Biswanger
 
Webinar - Boost your ABAP
Webinar - Boost your ABAPWebinar - Boost your ABAP
Webinar - Boost your ABAPCadaxo GmbH
 
Gentics Webinar: Unser Intranet mit SAP Netweaver Portal und CMS 22-09-2009
Gentics Webinar: Unser Intranet mit SAP Netweaver Portal und CMS 22-09-2009Gentics Webinar: Unser Intranet mit SAP Netweaver Portal und CMS 22-09-2009
Gentics Webinar: Unser Intranet mit SAP Netweaver Portal und CMS 22-09-2009Manuel Aghamanoukjan
 
Skalierung & Performance
Skalierung & PerformanceSkalierung & Performance
Skalierung & Performanceglembotzky
 
Crawl-Budget Optimierung - SEOday 2015
Crawl-Budget Optimierung - SEOday 2015Crawl-Budget Optimierung - SEOday 2015
Crawl-Budget Optimierung - SEOday 2015Bastian Grimm
 
Die 10 groeßten Fehler im eMarketing
Die 10 groeßten Fehler im eMarketingDie 10 groeßten Fehler im eMarketing
Die 10 groeßten Fehler im eMarketingAngelika Röck
 
Kennst du ein Unternehmen, dass erfolgreich die QS outtasked hat?“
Kennst du einUnternehmen, dass erfolgreichdie QS outtasked hat?“Kennst du einUnternehmen, dass erfolgreichdie QS outtasked hat?“
Kennst du ein Unternehmen, dass erfolgreich die QS outtasked hat?“hpaustria
 
magnolia mit thymeleaf - ein agiler prozess-beschleuniger
magnolia mit thymeleaf - ein agiler prozess-beschleunigermagnolia mit thymeleaf - ein agiler prozess-beschleuniger
magnolia mit thymeleaf - ein agiler prozess-beschleunigerThomas Kratz
 
Data-driven Technical SEO: Logfile Auditing - SEOkomm 2018
Data-driven Technical SEO: Logfile Auditing - SEOkomm 2018Data-driven Technical SEO: Logfile Auditing - SEOkomm 2018
Data-driven Technical SEO: Logfile Auditing - SEOkomm 2018Bastian Grimm
 
SharePoint 8 Tipps um besser zu Finden
SharePoint 8 Tipps um besser zu FindenSharePoint 8 Tipps um besser zu Finden
SharePoint 8 Tipps um besser zu FindenDavid Schneider
 
SEO on TYPO3 homepage
SEO on TYPO3 homepageSEO on TYPO3 homepage
SEO on TYPO3 homepageAlex Kellner
 
Smartes SEO Monitoring & Alerting mit Apps Scripts [DE] - John Muñoz
Smartes SEO Monitoring & Alerting mit Apps Scripts [DE] - John MuñozSmartes SEO Monitoring & Alerting mit Apps Scripts [DE] - John Muñoz
Smartes SEO Monitoring & Alerting mit Apps Scripts [DE] - John MuñozJohn Muñoz
 
8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzen
8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzen8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzen
8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzenAWS Germany
 

Ähnlich wie Making AdWords Scripts Scale (20)

CLOUDPILOTS Präsentation vom 14.07.2011 bei der Hamburger IBM Notes-User Grou...
CLOUDPILOTS Präsentation vom 14.07.2011 bei der Hamburger IBM Notes-User Grou...CLOUDPILOTS Präsentation vom 14.07.2011 bei der Hamburger IBM Notes-User Grou...
CLOUDPILOTS Präsentation vom 14.07.2011 bei der Hamburger IBM Notes-User Grou...
 
GAUC 2017 Workshop App Tracking: Markus Vollmert (lunapark)
GAUC 2017 Workshop App Tracking: Markus Vollmert (lunapark)GAUC 2017 Workshop App Tracking: Markus Vollmert (lunapark)
GAUC 2017 Workshop App Tracking: Markus Vollmert (lunapark)
 
Google Analytics für Einsteiger
Google Analytics für EinsteigerGoogle Analytics für Einsteiger
Google Analytics für Einsteiger
 
Lukas Stuber, Angelink: E-Shop-Performance steigern mit Suchmaschinen und Web...
Lukas Stuber, Angelink: E-Shop-Performance steigern mit Suchmaschinen und Web...Lukas Stuber, Angelink: E-Shop-Performance steigern mit Suchmaschinen und Web...
Lukas Stuber, Angelink: E-Shop-Performance steigern mit Suchmaschinen und Web...
 
Sea Camp 2017 | Vortrag Automatisierte Feedkampagnen selbst erstellen | Judit...
Sea Camp 2017 | Vortrag Automatisierte Feedkampagnen selbst erstellen | Judit...Sea Camp 2017 | Vortrag Automatisierte Feedkampagnen selbst erstellen | Judit...
Sea Camp 2017 | Vortrag Automatisierte Feedkampagnen selbst erstellen | Judit...
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
 
Google Search Console für SEO einsetzen!
Google Search Console für SEO einsetzen!Google Search Console für SEO einsetzen!
Google Search Console für SEO einsetzen!
 
Elasticsearch Cluster Management mit Marvel
Elasticsearch Cluster Management mit MarvelElasticsearch Cluster Management mit Marvel
Elasticsearch Cluster Management mit Marvel
 
Webinar - Boost your ABAP
Webinar - Boost your ABAPWebinar - Boost your ABAP
Webinar - Boost your ABAP
 
Gentics Webinar: Unser Intranet mit SAP Netweaver Portal und CMS 22-09-2009
Gentics Webinar: Unser Intranet mit SAP Netweaver Portal und CMS 22-09-2009Gentics Webinar: Unser Intranet mit SAP Netweaver Portal und CMS 22-09-2009
Gentics Webinar: Unser Intranet mit SAP Netweaver Portal und CMS 22-09-2009
 
Skalierung & Performance
Skalierung & PerformanceSkalierung & Performance
Skalierung & Performance
 
Crawl-Budget Optimierung - SEOday 2015
Crawl-Budget Optimierung - SEOday 2015Crawl-Budget Optimierung - SEOday 2015
Crawl-Budget Optimierung - SEOday 2015
 
Die 10 groeßten Fehler im eMarketing
Die 10 groeßten Fehler im eMarketingDie 10 groeßten Fehler im eMarketing
Die 10 groeßten Fehler im eMarketing
 
Kennst du ein Unternehmen, dass erfolgreich die QS outtasked hat?“
Kennst du einUnternehmen, dass erfolgreichdie QS outtasked hat?“Kennst du einUnternehmen, dass erfolgreichdie QS outtasked hat?“
Kennst du ein Unternehmen, dass erfolgreich die QS outtasked hat?“
 
magnolia mit thymeleaf - ein agiler prozess-beschleuniger
magnolia mit thymeleaf - ein agiler prozess-beschleunigermagnolia mit thymeleaf - ein agiler prozess-beschleuniger
magnolia mit thymeleaf - ein agiler prozess-beschleuniger
 
Data-driven Technical SEO: Logfile Auditing - SEOkomm 2018
Data-driven Technical SEO: Logfile Auditing - SEOkomm 2018Data-driven Technical SEO: Logfile Auditing - SEOkomm 2018
Data-driven Technical SEO: Logfile Auditing - SEOkomm 2018
 
SharePoint 8 Tipps um besser zu Finden
SharePoint 8 Tipps um besser zu FindenSharePoint 8 Tipps um besser zu Finden
SharePoint 8 Tipps um besser zu Finden
 
SEO on TYPO3 homepage
SEO on TYPO3 homepageSEO on TYPO3 homepage
SEO on TYPO3 homepage
 
Smartes SEO Monitoring & Alerting mit Apps Scripts [DE] - John Muñoz
Smartes SEO Monitoring & Alerting mit Apps Scripts [DE] - John MuñozSmartes SEO Monitoring & Alerting mit Apps Scripts [DE] - John Muñoz
Smartes SEO Monitoring & Alerting mit Apps Scripts [DE] - John Muñoz
 
8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzen
8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzen8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzen
8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzen
 

Mehr von PeakAce

How to nail content marketing for B2B
How to nail content marketing for B2BHow to nail content marketing for B2B
How to nail content marketing for B2BPeakAce
 
14. SEA Stammtisch: KNIME Vortrag von David Zurek und Mateusz Rychlewski
14. SEA Stammtisch: KNIME Vortrag von David Zurek und Mateusz Rychlewski14. SEA Stammtisch: KNIME Vortrag von David Zurek und Mateusz Rychlewski
14. SEA Stammtisch: KNIME Vortrag von David Zurek und Mateusz RychlewskiPeakAce
 
SEA Stammtisch: Gamze Güler mit "Google Analytics Hacks"
SEA Stammtisch: Gamze Güler mit "Google Analytics Hacks"SEA Stammtisch: Gamze Güler mit "Google Analytics Hacks"
SEA Stammtisch: Gamze Güler mit "Google Analytics Hacks"PeakAce
 
Google analytics unleashed for remarketing - Maria Lena Matysik
Google analytics unleashed for remarketing - Maria Lena MatysikGoogle analytics unleashed for remarketing - Maria Lena Matysik
Google analytics unleashed for remarketing - Maria Lena MatysikPeakAce
 
Confessions of a paid search professional - polle van elsacker
Confessions of a paid search professional - polle van elsackerConfessions of a paid search professional - polle van elsacker
Confessions of a paid search professional - polle van elsackerPeakAce
 
SEA Stammtisch 5 Take-Aways für GTM
SEA Stammtisch 5 Take-Aways für GTMSEA Stammtisch 5 Take-Aways für GTM
SEA Stammtisch 5 Take-Aways für GTMPeakAce
 
Agile Content Marketing in der Praxis (Christian Kleemann, inboundlab)
Agile Content Marketing in der Praxis (Christian Kleemann, inboundlab) Agile Content Marketing in der Praxis (Christian Kleemann, inboundlab)
Agile Content Marketing in der Praxis (Christian Kleemann, inboundlab) PeakAce
 
AdWords for lazy guys – DIY Account Automation by David Schlee (https://www.x...
AdWords for lazy guys – DIY Account Automation by David Schlee (https://www.x...AdWords for lazy guys – DIY Account Automation by David Schlee (https://www.x...
AdWords for lazy guys – DIY Account Automation by David Schlee (https://www.x...PeakAce
 
Tag Manager - Datalayer - Bouncerate adjustment - Scrolltiefen auswerten
Tag Manager - Datalayer - Bouncerate adjustment - Scrolltiefen auswertenTag Manager - Datalayer - Bouncerate adjustment - Scrolltiefen auswerten
Tag Manager - Datalayer - Bouncerate adjustment - Scrolltiefen auswertenPeakAce
 
SEA Automatisierung abseits von Bidmanagement - Thomas Hertkorn
SEA Automatisierung abseits von Bidmanagement - Thomas HertkornSEA Automatisierung abseits von Bidmanagement - Thomas Hertkorn
SEA Automatisierung abseits von Bidmanagement - Thomas HertkornPeakAce
 
Vorteile von Google Ad Words Scripten
Vorteile von Google Ad Words ScriptenVorteile von Google Ad Words Scripten
Vorteile von Google Ad Words ScriptenPeakAce
 
Google Shopping - die Zukunft
Google Shopping - die ZukunftGoogle Shopping - die Zukunft
Google Shopping - die ZukunftPeakAce
 

Mehr von PeakAce (12)

How to nail content marketing for B2B
How to nail content marketing for B2BHow to nail content marketing for B2B
How to nail content marketing for B2B
 
14. SEA Stammtisch: KNIME Vortrag von David Zurek und Mateusz Rychlewski
14. SEA Stammtisch: KNIME Vortrag von David Zurek und Mateusz Rychlewski14. SEA Stammtisch: KNIME Vortrag von David Zurek und Mateusz Rychlewski
14. SEA Stammtisch: KNIME Vortrag von David Zurek und Mateusz Rychlewski
 
SEA Stammtisch: Gamze Güler mit "Google Analytics Hacks"
SEA Stammtisch: Gamze Güler mit "Google Analytics Hacks"SEA Stammtisch: Gamze Güler mit "Google Analytics Hacks"
SEA Stammtisch: Gamze Güler mit "Google Analytics Hacks"
 
Google analytics unleashed for remarketing - Maria Lena Matysik
Google analytics unleashed for remarketing - Maria Lena MatysikGoogle analytics unleashed for remarketing - Maria Lena Matysik
Google analytics unleashed for remarketing - Maria Lena Matysik
 
Confessions of a paid search professional - polle van elsacker
Confessions of a paid search professional - polle van elsackerConfessions of a paid search professional - polle van elsacker
Confessions of a paid search professional - polle van elsacker
 
SEA Stammtisch 5 Take-Aways für GTM
SEA Stammtisch 5 Take-Aways für GTMSEA Stammtisch 5 Take-Aways für GTM
SEA Stammtisch 5 Take-Aways für GTM
 
Agile Content Marketing in der Praxis (Christian Kleemann, inboundlab)
Agile Content Marketing in der Praxis (Christian Kleemann, inboundlab) Agile Content Marketing in der Praxis (Christian Kleemann, inboundlab)
Agile Content Marketing in der Praxis (Christian Kleemann, inboundlab)
 
AdWords for lazy guys – DIY Account Automation by David Schlee (https://www.x...
AdWords for lazy guys – DIY Account Automation by David Schlee (https://www.x...AdWords for lazy guys – DIY Account Automation by David Schlee (https://www.x...
AdWords for lazy guys – DIY Account Automation by David Schlee (https://www.x...
 
Tag Manager - Datalayer - Bouncerate adjustment - Scrolltiefen auswerten
Tag Manager - Datalayer - Bouncerate adjustment - Scrolltiefen auswertenTag Manager - Datalayer - Bouncerate adjustment - Scrolltiefen auswerten
Tag Manager - Datalayer - Bouncerate adjustment - Scrolltiefen auswerten
 
SEA Automatisierung abseits von Bidmanagement - Thomas Hertkorn
SEA Automatisierung abseits von Bidmanagement - Thomas HertkornSEA Automatisierung abseits von Bidmanagement - Thomas Hertkorn
SEA Automatisierung abseits von Bidmanagement - Thomas Hertkorn
 
Vorteile von Google Ad Words Scripten
Vorteile von Google Ad Words ScriptenVorteile von Google Ad Words Scripten
Vorteile von Google Ad Words Scripten
 
Google Shopping - die Zukunft
Google Shopping - die ZukunftGoogle Shopping - die Zukunft
Google Shopping - die Zukunft
 

Making AdWords Scripts Scale

  • 2. ABOUT NORISK – ABOUT ME norisk Christopher Alex = ChiefScripter
  • 3. 1.  Gründe für AdWords Scripts 2.  Limitationen von Adwords Scripts 3.  Performance Scaling Tweaks 1.  Laufzeit: Job-Splitting, und Sync Best Practices 2.  Updates: Externes Hosting 4.  Takeaways FOLIEN: slideshare.com/norisk
  • 7. GRUNDFRAGE: MAKE OR RENT? MAKE SaaSRENT AdWords Scripts API-Tool
  • 8. SAAS ANBIETERAUSWAHL IST ZEITRAUBEND BUY Zeitverlauf Kosten SaaS Toolauswahl
  • 9. ADWORDS SCRIPTS vs SAAS-TOOL AdWords Scripts API-Tool BUY MAKE Zeitverlauf Kosten SaaS Genauer Anforderungskatalog hilft für beide!
  • 10. WIESO WIRD „MAKE“ FÜR ADWORDS ATTRAKTIVER? vs Feedplattformen Fertige Adwords Skripte Ad Customizer & Geschäftsdaten Code-Tutorial Plattformen Machine Learning APIs Camato Delta Method Smarter Ecommerce DIY Toolbausteine (MAKE) RENT
  • 11. GRUNDFRAGE: MAKE OR RENT? MAKE SaaSRENT AdWords Scripts StandardisierungIndividualisierung Spezifierbarkeit Isolierbarkeit Stabilität Skalierbarkeit Komplexität Fehlendes Know-How Veränderlichkeit RÜCKBLICK 2016 vs SICHTWEISE 2017
  • 12. ADWORDS SCRIPTS VS API-TOOL Zusatzkosten einer API-Lösung •  Wartungskosten •  API-Kosten •  Utility-Aufwände (Auth, Log, Email) •  Skriptüberführung in Java, PHP, Python
  • 13. 1.  Gründe für AdWords Scripts 2.  Limitationen von Adwords Scripts 3.  Performance Tweaks 1.  Laufzeit: Job-Splitting und Sync Best Practices 2.  Updates: Externes Hosting 4.  Takeaways
  • 14. LIMITATIONEN VON ADWORDS SCRIPTS LAUFZEIT (30min) SPEICHER (5-10 GB) ENTITY LIMITS SPREADSHEET (2Mio) FEHLENDE METHODEN CODESTRUKTUR (ES 5) UPDATES ERROR-ALERTING & UTILITIES SERVICE LIMITS Limits-Doku: https://developers.google.com/adwords/scripts/docs/limits Thomas Grübel SMX: bit.ly/inbiz_smx
  • 16. TREND ZU AUTOMATION (& AI) BENCHMARK LinkCheckerDeluxe nrFeedkampagnen nrShoppingPGA Max Elemente / Stunde ( / Tag) 3000 (72k) 4000 (92k) 1000 (24k) OperaYon Anzeige prüfen, ggf. pausieren Anlage AdGroups, Ads, Keywords, Sitelinks, Labels Abgleich & Anlage Produktgruppen ( )
  • 17. 1.  Gründe für AdWords Scripts 2.  Limitationen von Adwords Scripts 3.  Performance Tweaks 1.  Laufzeit: Job-Splitting, Log-DB und Sync Best Practices 2.  Updates: Externes Hosting 4.  Takeaways
  • 18. SKALIERUNG = HOURLY RUNS + JOB-SPLITTING vs Iterative Abarbeitung Speicherung des Zwischenstands Probleme: ›  Speicherungs & Ladelogik ›  State-Sync-Errors Einfache Logik Beliebige Wiederholbarkeit Siehe Scala, Haskell Problem: 30 Min Laufzeit STATELESSNESS JOB-SPLITTING
  • 20. PROGRESS LOG FÜR JOB SPLITTING Mögliche Lösungen LABELS (/ IF-LOGIK) GET-STATUS & COMPARE LOG-DB Use Case Daily Checks Status update Feedbasierte Anlage & Aktualisierung Elementanlage ohne Stringsuche Beispiel LinkChecker AdGroups, Anzeigen, Keywords Produktgruppen Sitelinks Limitation Keine 100% Statusgenauigkeit Labeloperation nicht immer möglich GetAll-Methode nicht immer vorhanden 2 Mio Google-Sheetzeilen Festlegung Infos Log nur einmalig sinnvoll
  • 21. PRAXISTEST: LINKCHECKER DELUXE (HOLGER SCHULZ) Stündliches Scheduling Job Splitting per Label Geiles Ding Neue Featureideen in Abspache https://www.internet-marketing-inside.de/AdWords-Scripts/LinkChecker.html ✔ ✔ ✔ ! Beendet.
  • 22. HERAUSFORDERUNGEN SYNCHRONISATION SOLL 1. Get & Find Gap IST (AdWords) IST-DB 2. Update SKRIPT TBD: Log-Infos, Multi-Sheet 3. Log
  • 23. IST-DB über mehrere Google Sheets mit Wrapper-Library SYNC BEST PRACTICES I Wrapper legt neue Sheets nach Bedarf an Bisherige Sheets als JSON-File in Drive Laden aller Einträge in Objekt über globalObject. (ABSTRAKT) ✔ ✔ ✔ ! https://gist.github.com/norisk-marketing/7cb04d87080dc80c056dc8b1785ded63
  • 24. Skripte und Versionsupdates zentral verwalten EXTERNES HOSTING Aufruf und Eval externerJavascript-Datei Syntax Ausführung: eval(UrlFetchApp.fetch(url).getContentText()); Erweiterbar über Git / Jenkins Buildpipeline ✔ ✔ ✔ !
  • 25. IST-DB Datenzugriff über Object key SYNC BEST PRACTICES II Array wird zum Globalobjekt mit Elementname als Key Syntax Assigment: globalObject.[elementName]:{} Syntax Read: globalObject[elementName] Faktor 2500 schneller als Array-vergleich Bsp: Abgleich 10k Datensätze à 0,1 sec = 16 min > 32 sek ✔ ✔ ✔ ✔
  • 26. ADDON: NORISK-TIMER LIBRARY Scheduling: Stufenloser Übergang Stündlich zu Täglich https://gist.github.com/norisk-marketing/9876221a815092fecfec99414b0e28e5
  • 27. ADDON MCC-LEVEL: PROCESS IN PARALLEL BY LABEL http://www.freeadwordsscripts.com/2014/11/executeinparallel-on-more-than-50.html
  • 28. TAKEAWAYS Stündliches Scheduling und Job Splitting Job Splitting per Label, Log-DB oder GetStatus Bei IST-DB, Spreadsheet Wrapper und Objectkey Access Externes Hosting von Dateien (Geschäftlogik) Testen, Testen, Testen ✔ ✔ ✔ ✔ ✔ WIE ADWORDS SCRIPTS SKALIERBAR WIRD
  • 29. HAPPY AUTOMATING & SCALING ! GUTKNECHT Head of Online Marketing CHRISTOPHER TWITTER @chrisgutknecht MAIL cgutknecht@noriskshop.de https://www.noriskshop.de/blog/category/adwords-scripts/ https://github.com/norisk/AdWords-Scripts https://gist.github.com/norisk-marketing