This SMX talk will walk you through how search campaigns can be automated from an inventory and a query perspective and where entry-level machine learning services can improve the automation quality. The accompanying code can be found at: bit.ly/smx_chrisg
The talk was held at SMX Advanded Europe 2...
This SMX talk will walk you through how search campaigns can be automated from an inventory and a query perspective and where entry-level machine learning services can improve the automation quality. The accompanying code can be found at: bit.ly/smx_chrisg
The talk was held at SMX Advanded Europe 2019 in Berlin by Christopher Gutknecht from Bergzeit.
Size: 2.53 MB
Language: en
Added: Sep 30, 2019
Slides: 45 pages
Slide Content
When to Use Machine Learning for
Search Campaigns: A Hands-On Guide
@chrisgutknecht
@chrisgutknecht
Your Takeaways of this Talk
1. A PPC tech-stack to get started with Machine Learning
Slides & Code: bit.ly/smx_chrisg
2. When to use ML for Search Campaign Building:
-Inventory-based and
-Query-based campaigns
3. Great Entry-level ML Services for PPC
@chrisgutknecht
About Christopher: Head of Performance Marketing @ Bergzeit
Digital Marketer
Tech-nerd
Climber
1997 2008 2013 2019
Dad
Online Retailer for Mountain Gear
€ 70M Revenue in 2018
€ 500k Paid Media Spend / Month
+ 500 Brands, 130k SKUs in Shopping
Non-Brand Sales: 60% Shopping, 40% Search
4
Large-Scale PPC is Becoming the
Science of Managing Data Pipelines
@chrisgutknecht
Humans in Charge. Machines are Tools. We need Constant Improvement!
MachineHuman
Machine
Learning
Feedback
RULE: If you fail to get beyond 85% of prediction accuracy > Try ML
Rule-Based
6
Supervised ML:
I’ve got a ton of structured data,
You figure out the rest!
7
When it comes to Machine Learning,
I’m still at basecamp (but ambitious)
@chrisgutknecht
The PPC Starter Toolkit: Ads Scripts & Python
Google Ads Script
Sheets
Big Query
...
Write & Run Code
Cloud Functions Google Colab
Storage ML
ML Libraries
&
Services
APIs
bit.ly/smx_chrisg
@chrisgutknecht
Rent a Real Ninja for Your Tool Set
Scripts
Cloud Functions
@chrisgutknecht
Runtime Issues? Slice your Workload!
Scripts
Cloud Functions
30min vs 6min
3-4 GB vs 2GB
@chrisgutknecht
SEARCH is losing: We Need MORE Automation!
1. Feed better Data into Shopping
2. Automate Search (as much as possible)
@chrisgutknecht
Let’s Combine our Two Data Sources: Supply & Demand
2. DEMAND = Queries1. SUPPLY = Inventory
@chrisgutknecht
Using Inventory & Query Data: What are the Key Challenges?
1. Inventory
Build & Sync Attribute Combinations
2. Queries
Check Queries against Attributes &
Inventory
Hygiene:
Auto-add Near Exact & Monitor Query Overlaps
bit.ly/smx_chrisg
@chrisgutknecht
Search Automation Workflows
Supply = Feedbased Demand = Querybased
Hygiene:
-Add Near-Exact
-Manage Overlaps
-Monitor URLs
Sync Entity Combinations
Validate against user queries Validate Good Queries against Entities and Inventory
ML:
-Find Campaign
-Find page
-Associate Extension
1. SUPPLY
Inventory-based campaigns
@chrisgutknecht
Tooltip for Inventory-based Campaigns: Google Dataprep
Google Dataprep
Very flexible & powerful
FREE (only IT costs)
GCP Account needed
Datasync-Doc: bit.ly/smx_chrisg
@chrisgutknecht
Managing Feedbased Campaigns with Dataprep
Change Data in any way imaginable Manage Data Sources and Outputs
GROUP BY
@chrisgutknecht
Managing Feedbased Campaigns with Dataprep
Combine the Hell out of your Product Attributes
@chrisgutknecht
Use Google Suggest API to Prevent Useless Keyword Combinations
Big Query Cache
Google Suggest API Keyword List
Historical Query Data
Keyword Planner (API)
Validated Keywords
Not Longtail-Friendly
In Cache?
0 Results
@chrisgutknecht
Getting your Data To and From Dataprep
Process in Dataprep Export as .csv
Import via Cloud
Functions to
Cloud Storage
Create via Script
Upload SAME Feed for
Business Data
(Price, Amount etc.)
Upload via Bulk upload
& Sheet Tabs
@chrisgutknecht
Want To Test Dataprep? Reach Out!
Reach out to Me > I’ll share a copy of my Dataflow
@chrisgutknecht
2. DEMAND
Query-Based Campaigns
@chrisgutknecht
String
Comparison
The Five Key Challenges of Query Automation
Get new good
Keywords
Clean Query
Analyze
Entities
Check
Inventory
Choose
Campaign
Classification
Entity
Recognition
Classification
Value
Prediction
-
Custom
Search API
AutoML /
Spacy
AutoMLBigQueryML -
Step
ML-Based
ML Tools
1. 2. 3. 4. 5.
Skip
Non-FullMatch
String LookupKPI-Filter
Ask Site
Search
Rule-Based
@chrisgutknecht
Query-Task #1: Find New Good Keywords
-Conversions > a and ROAS > b
-Impressions > c and Clicks > d
KPI Filter value Prediction
-Predicted Margin per Click
-Entities as value features
Simple Advanced
Matchtype is not Exact AND not nearExact (separate workflow)
@chrisgutknecht
Train a Regression Model in SQL with BigQuery ML
Linear
Regression
Logistic
Regression
Multiclass
Labeling
Clustering
Model Import
(Tensorflow etc)
@chrisgutknecht
A Simple N-Gram Model Doesn’t Work - Entities Needed!
Increasing loss = BAD
@chrisgutknecht
BigQuery is the #1 Reason to Learn SQL
Ads Data Transfer Merchant Center Data
Transfer
Analytics Raw Data
(Web+App Property)
Own Datasets
- Weather, Price Crawls
- Returns, Margins
Combine Data and Train Models with BigQuery ML
@chrisgutknecht
Query-Task #2: Clean Queries(Example “Widfire”)
1. Suggest API
2. Custom
Search API
Corrected Typo
@chrisgutknecht
Query-Task #3: Entity Recognition
Full and Partial List
Matching
Textbased Spacy - NLP Library
AutoML for Entity
Recognition
Annotate Data with
Custom Entities
Pretrained or Custom
Model with Annotation UI
Simple Advanced
@chrisgutknecht
Query-Task #3: Resolving Entity Ambiguities @ SIXT via App
Improve
Training
Data
I think it is a
VEHICLE_TYPE
bristol car &
van hire
@chrisgutknecht
Query-Challenge #3: Scaling Validation with Spacy & Prodigy
Annotated Training Data Needed Scale Data Validation with Annotation UI
@chrisgutknecht
There is NO Plug & Play Tool for
Entity Recognition.
You need to Customise & Train it!
@chrisgutknecht
Query-Task #4: Check Inventory- OR Train your Site Search!
Check Result Count via
Search-URL
Validated Entities
Train ONE Entity
Recognition with All Data
Expose as API for All Tools
Simple Advanced
@chrisgutknecht
Query-Task #5: Campaign Classification
Full and Partial Query
Matching
Textbased AutoML for Natural Language
Provide Queries with Correct
Target Campaigns (m. 100/Camp)
Simple Advanced
@chrisgutknecht
Query-Task #5: AutoML Classification Model Scores & Prediction
@chrisgutknecht
Query-Task #5: AutoML Model Scores By Campaign
Yes, that was A LOT.
We’ve arrived at the top...
@chrisgutknecht
Your Takeaways in Summary
1. Start mixing Scripts with Python & Managed ML
Slides & Code: bit.ly/smx_chrisg
2. Test Google Dataprep for Inventory-based campaigns
4. Build a BigQuery Empire of Your Business Data
3. Start extracting Entities from your Query Sources
THANK YOU.
Looking Forward To Your Questions!
@chrisgutknecht
bit.ly/smx_chrisg
@chrisgutknecht
The Alternatives to Building Your Own Data Pipelines
1. Hand to Google 2. Rent a Tool 3. Delegate to IT 0. Build