This document discusses how Groupon uses big data and machine learning to optimize search engine marketing campaigns at scale. Key points include:
- Groupon runs marketing campaigns across multiple platforms that are automatically refreshed daily based on deals. Machine learning is used to optimize the process.
- Billions of performance records like bids, impressions, clicks and purchases must be managed for thousands of keywords across locations. Analyzing this data at scale using traditional systems can take many minutes.
- Groupon developed a new architecture using Cassandra, Redis, and external indexing to enable insights on keywords and performance to be retrieved in under a second, compared to 5-6 minutes previously. This allows for much faster optimization of campaigns.
3. PUSHPULL
Email
- Over 200 Million subscribers
in ~48 countries
- Daily (or multiple times
daily) / Personalised emails
Search Engine Optimisation
Search Engine Marketing
Display Advertising
Affiliate Marketing
4. Publish / Update
Campaigns (on Google,
Bing, Facebook).
Web Marketing
Optimisation Loop
- Several platforms (Google,
Facebook, Bing, etc.)
- Over 500 K deals worldwide
changing frequently
- Automate as much of the
process as possible
- Optimisation through
Machine learning
Identify
Performance Metrics
(Subs, conversion, ctr)Analysis
Monitor
Performance
Select Deals
/ Content
/ Assets
Define Target
(Keywords / Audience /
location / time etc.) & Bids
6. Search Engine Marketing
• Deal, Category or Brand centric marketing campaigns (Google / Bing)
• Campaigns are automatically refreshed daily / multiple times daily
• Campaign for every deal live on the site targeted to the physical location of the deal
• Campaigns are created for new deals
• Campaigns are ended for sold out and expired deals
• Automatic Keyword & Creative Generation
• Keywords help us show our ads to people making searches relevant to what is being
sold
• Advertising creative is how we entice searchers to click on our advertisement over
competitors ads on search engine results pages
7. Keyword Examples
"massage"
"massage groupon"
"massage & wellness spa"
"massage acupuncture"
"massage addiction"
"massage advertisement"
"massage albuquerque"
"massage and bodywork"
"massage and facial"
"massage and pedicure"
"massage and manicure"
"massage and spa"
…
“message spa"
"message spas"
- We advertise ~14 000 + massage related
keywords alone in the U.S.
- 200 Million+ Keywords to manage
- Keywords advertised across multiple
locations / Campaigns
- Billions of bid & performance records
to manage:
○ How much did we bid
○ How many impressions per day
○ How many clicks per day
○ How many purchases per day
○ etc.
17. ● Daily generation of aggregate performance records
○ How much revenue was generated
○ How much did we spend
○ How many impressions per day
○ How many clicks per day
○ How many purchases per day
○ What position on the page
○ etc.
● Hive generates map-reduce job with every query:
○ Aggregate reports take several minutes
○ Quick dive into performance records impossible (e.g. keywords with
massage on given date)
Performance Tracking
19. Keywords
Keyword Insights
Date Account CampaignId Adgroup KeywordId Keyword Text Cost Orders Conv Platform ….
08-13 FW|PullCat phoenix RTC-KW 123213 Zumba 0.1 1 0.05 web
08-14 FW|PullCat phoenix RTC-KW 123213 Zumba 0.2 2 0.05 web
08-15 FW|PullCat phoenix RTC-KW 123213 Zumba 0.1 1 0.05 web
08-16 FW|PullCat phoenix RTC-KW 123213 Zumba 0.1 1 0.05 web
.. .. .. .. .. .. .. .. .. .. ..
Cassandra Click Attribution + bids (~Billions / 45 Days)
Raw Historical
Records
External
Index
20. Keywords
Keyword Insights
Keyword Text Target row
Zumba Account: FW|PullCat
Campaign: Pheonix
AdGroup: RTC-KW
KeywordId: 123123
Zumba Classes Account: FW|PullCat
Campaign: Pheonix
AdGroup: RTC-KW
KeywordId: 123123
Redis
Raw Historical
Records
External
Index
External Index (~Millions / 45 Days)
21. Keywords
Keyword Insights
Redis
Keyword Text
Zumba Zumba Aloha Zumba Besitos
Zumba Classes Zumba ann
Harbor
Zumba Boca
Raton
Zumba at home Zumba Austin Zumba By Elvia
.. .. ..
Raw Historical
Records
External
Index
Searchable keyword set (100 Million / 45 Days)