SlideShare ist ein Scribd-Unternehmen logo
1 von 45
Downloaden Sie, um offline zu lesen
AdWords API Workshops – All rights reserved
Feed Services
Managing Feeds with the AdWords API

Adam Ohren, Google, Inc.

AdWords API Workshops – All rights reserved
Agenda
●
●
●
●
●
●

Feed Concepts
Creating New Feeds
Populating Ad Extensions
Reporting
Best Practices
Reuse of our Example Code

AdWords API Workshops – All rights reserved
Feed Concepts

AdWords API Workshops – All rights reserved
What is a Feed?
Feed

● Account-level table
● Collection of mutable rows
● Data provider for ad extensions
○ Sitelink extensions
○ Call extensions
○ App extensions

AdWords API Workshops – All rights reserved

Attr1

Attr2

Attr3

Item1

Val1

Val2

Val3

Item2

Val4

Val5

Val6
Feed Benefits
Feed

●
●
●
●

Dynamically update extensions
Modify extensions in-place
Retain reporting stats
FeedItem-level device preference

AdWords API Workshops – All rights reserved

Attr1

Attr2

Attr3

Item1

Val1

Val2

Val3

Item2

Val4

Val5

Val6
A Database Analogy
Table

Feed

Column

FeedAttribute

Row

FeedItem

Field

FeedItemAttributeValue

AdWords API Workshops – All rights reserved
A Database Analogy

AdWords API Workshops – All rights reserved

Ad Extension
All the Pieces
Data

AdWords API Workshops – All rights reserved

Extension Type

Ad Extensions
Feed Services API
●
●
●
●
●

FeedService
FeedItem Service
FeedMapping Service
CampaignFeed Service
AdGroupFeed Service

AdWords API Workshops – All rights reserved
Creating New Feeds

AdWords API Workshops – All rights reserved
Creating New Feeds
1. Create
2. Populate
3. Map

AdWords API Workshops – All rights reserved
Creating New Feeds
To do this...

…call this...

...with these!

Create

FeedService

Feed
FeedAttribute

Populate

FeedItemService

FeedItem
FeedItemAttribute

Map

FeedMappingService

FeedMapping

AdWords API Workshops – All rights reserved
Create
● Adds new named collection of data
● Defines columns names & types

AdWords API Workshops – All rights reserved
Create
1. Create Feed
a. Set name

2. Add FeedAttributes
a. Set names
b. Set types

3. Call FeedService.ADD

AdWords API Workshops – All rights reserved
Populate
● Inserts actual row items into the Feed
● Indicates per-item device preference
(optional)
● Configures per-item time period (optional)

AdWords API Workshops – All rights reserved
Populate
1. Create FeedItem
a. Set feedId

2. Add FeedItemAttributeValues
a. Set feedAttributeId
b. Set value

3. Call FeedItemService.ADD

AdWords API Workshops – All rights reserved
Map
● Declares which ad extensions can use
Feed
● Defines which Feed columns are used in
extension

AdWords API Workshops – All rights reserved
Map
1. Create FeedMapping
a. set feedId
b. set placeholderType

2. Add AttributeFieldMappings
a. set feedAttributeId
b. set fieldId

3. Call FeedMappingService.ADD

AdWords API Workshops – All rights reserved
Populating Ad Extensions

AdWords API Workshops – All rights reserved
Using Feed Data in Ad Extensions
Feed
FeedItem
FeedItem
FeedItem
FeedItem
FeedItem
FeedItem
FeedItem
FeedItem
FeedItem

AdWords API Workshops – All rights reserved
Using Feed Data in Ad Extensions
Feed
FeedItem

matchingFunction

FeedItem

CampaignFeed

Campaign

AdGroupFeed

AdGroup

FeedItem
FeedItem
FeedItem
FeedItem
FeedItem
FeedItem
FeedItem

AdWords API Workshops – All rights reserved

matchingFunction
Associate with Campaigns & AdGroups
● Adds ad extensions to Campaigns or
AdGroups
● Defines how to pick FeedItems via a
matching function

AdWords API Workshops – All rights reserved
Associating to Campaigns & AdGroups
1. Create CampaignFeed
a. set feedId
b. set campaignId
c. set placeholderTypes

2. Add a matching Function
a. set operator
b. set operands

3. Call CampaignFeed.ADD
AdWords API Workshops – All rights reserved
Matching Functions
Feed
FeedItem
FeedItem
FeedItem

matchingFunction

CampaignFeed

Campaign

AdGroupFeed

AdGroup

FeedItemId IN (id1, id2, …)

FeedItem
FeedItem
FeedItem
FeedItem
FeedItem
FeedItem

AdWords API Workshops – All rights reserved

matchingFunction
FeedItemId IN (idA, idB, …)
Matching Functions
Feed

Campaign / AdGroup

FeedItemId IN (6435602, 6436202)
AdWords API Workshops – All rights reserved
Reporting

AdWords API Workshops – All rights reserved
Feed-based Reporting
Ad Extensions Performance Report
● DomainInfo
● Location
● LocationSync
● Sitelinks
● Mobile
● InAppLink

AdWords API Workshops – All rights reserved

Placeholder Feed Item Report
● Sitelinks
● Mobile
● InAppLink
Placeholder Feed Item Report
● FeedItem-level statistics
● PlaceholderType ⇔ Ad extension type
● Sitelink
● Call
● App

AdWords API Workshops – All rights reserved
Best Practices

AdWords API Workshops – All rights reserved
Using Built-in ADWORDS Feeds
● Each ad extension type has a default Feed pre-built
● Main sitelink feed
● Main phone number feed
● Main app feed

● Feed.origin = “ADWORDS”
● FeedAttributes (schema) are immutable

AdWords API Workshops – All rights reserved
Using User Defined Feeds
● Displayed in a dropdown alongside built-in Feeds
● Feed.origin = “USER”
● FeedAttributes (schema) are appendable

AdWords API Workshops – All rights reserved
Deleting Things
Feed Entries
● Delete FeedItem

AdWords API Workshops – All rights reserved

VS

Ad Extensions
● Remove Id from matching
function
Feed Trivia
● One CampaignFeed / AdGroupFeed per
PlaceholderType
● Don’t send existing FeedAttributes in Feed.SET
operations
● No validation on FeedItemIds in matchingFunctions
● Maximum of 20 Feeds per account
● Including built-in ADWORDS Feeds

● Can only delete Feeds & FeedItems via API (not UI)

AdWords API Workshops – All rights reserved
Reusing Our Example Code
How to change our code to your bidding

AdWords API Workshops – All rights reserved
Use The Code, Luke!
● Examples available for each Client Library
○ https://developers.google.com/adwords/api/docs/clientlibraries
● Don’t do the hard work yourself

● Start with the Sitelinks examples
● Convert that to Calls or other Extensions
AdWords API Workshops – All rights reserved
PLACEHOLDERs - what are they for?
What kind of Feed or Field you’re using is set by the
PLACEHOLDERs you assign, for example:
PLACEHOLDER_SITELINKS = 1;
PLACEHOLDER_CALL = 2;
...
PLACEHOLDER_FIELD_CALL_ONLY = 4;
See:
https://developers.google.com/adwords/api/docs/appendix/placeholders
AdWords API Workshops – All rights reserved
Fields
Add the required Fields for that Extension:
● Sitelink:

Text, URL (up to 6 pairs)

● Call or : Phone Number, Country Code, isCallTracking,
Mobile : isCallOnly, Conversion Duration Threshold
● App

: Store, Id, Link Text, URL

AdWords API Workshops – All rights reserved
Then just tidy up
● Rename stuff to make sense

The example code will have method and parameter
names that say SiteLink in them. Change these to
Call or App or whatever, to match what you’re doing.

AdWords API Workshops – All rights reserved
Then just tidy up
● Ensure you include all the Attributes you’re using:
FeedAttribute textAttribute = new FeedAttribute();
textAttribute.setType(FeedAttributeType.STRING);
textAttribute.setName("Link Text");

Becomes:
FeedAttribute numberAttribute = new FeedAttribute();
numberAttribute.setType(FeedAttributeType.STRING);
numberAttribute.setName("Phone Number");

:
AdWords API Workshops – All rights reserved
Then just tidy up
● Get the right FeedAttributeType:
FeedAttribute iCOAttribute = new FeedAttribute();
iCOAttribute.setType(FeedAttributeType.BOOLEAN);
iCOAttribute.setName("Is Call Only");

AdWords API Workshops – All rights reserved
Then just tidy up
● Get the right AttributeId in the right place:
Feed savedFeed = result.getValue()[0]; // a new FeedReturnValue
callData.callFeedId = savedFeed.getId(); // a data holder object
FeedAttribute[] savedAttributes = savedFeed.getAttributes();
callData.numberFeedAttributeId = savedAttributes[0].getId();
callData.ccFeedAttributeId = savedAttributes[1].getId();
callData.iCTFeedAttributeId = savedAttributes[2].getId();
...

// other Attribute lines

AdWords API Workshops – All rights reserved
Resources
Guide & Reference
https://developers.google.com/adwords/api/docs/guides/feed-services
https://developers.google.com/adwords/api/docs/appendix/placeholders
https://developers.google.com/adwords/api/docs/appendix/feed-errors
https://developers.google.com/adwords/api/docs/clientlibraries
AdWords API Workshops – All rights reserved
Questions?

AdWords API Workshops – All rights reserved
AdWords API Workshops – All rights reserved

Weitere ähnliche Inhalte

Andere mochten auch

SMX East 2012 - Google Shopping/PLAs and Bing RAIS
SMX East 2012 - Google Shopping/PLAs and Bing RAISSMX East 2012 - Google Shopping/PLAs and Bing RAIS
SMX East 2012 - Google Shopping/PLAs and Bing RAISElizabeth Marsten
 
Getting started with Google Analytics and the AdWords API
Getting started with Google Analytics and the AdWords APIGetting started with Google Analytics and the AdWords API
Getting started with Google Analytics and the AdWords APImarcwan
 
AdWords Scripts (Spanish)
AdWords Scripts (Spanish)AdWords Scripts (Spanish)
AdWords Scripts (Spanish)marcwan
 
Bid Estimation with the AdWords API (v2)
Bid Estimation with the AdWords API (v2)Bid Estimation with the AdWords API (v2)
Bid Estimation with the AdWords API (v2)marcwan
 
Opportunity Analysis with Kratu (v2)
Opportunity Analysis with Kratu (v2)Opportunity Analysis with Kratu (v2)
Opportunity Analysis with Kratu (v2)marcwan
 
Reporting tips & tricks
Reporting tips & tricksReporting tips & tricks
Reporting tips & tricksmarcwan
 
Der Untenstehende auf Zehenspitzen. Innovationsmanagement am Beispiel der ETH...
Der Untenstehende auf Zehenspitzen. Innovationsmanagement am Beispiel der ETH...Der Untenstehende auf Zehenspitzen. Innovationsmanagement am Beispiel der ETH...
Der Untenstehende auf Zehenspitzen. Innovationsmanagement am Beispiel der ETH...ETH-Bibliothek
 
Jo sóc jo i les meves circumstàncies ... o no
Jo sóc jo i les meves circumstàncies ... o noJo sóc jo i les meves circumstàncies ... o no
Jo sóc jo i les meves circumstàncies ... o noMiquel Duran
 
Handouts march 21, 2014 - singapore - mi - trade launch
Handouts   march 21, 2014 - singapore - mi - trade launchHandouts   march 21, 2014 - singapore - mi - trade launch
Handouts march 21, 2014 - singapore - mi - trade launchThomas Armstrong
 
Para una sexualidad liberadora por Margarita bofarull (ponencia)
Para una sexualidad liberadora por Margarita bofarull (ponencia)Para una sexualidad liberadora por Margarita bofarull (ponencia)
Para una sexualidad liberadora por Margarita bofarull (ponencia)OFM
 
Presentacion future net español
Presentacion future net españolPresentacion future net español
Presentacion future net españolMarcia Charnevski
 
Zoom Comunicación Estratégica
Zoom Comunicación EstratégicaZoom Comunicación Estratégica
Zoom Comunicación Estratégicajennyramosm
 
Il percorso Enea per la mobilità sostenibile
Il percorso Enea per la mobilità sostenibileIl percorso Enea per la mobilità sostenibile
Il percorso Enea per la mobilità sostenibilecanaleenergia
 
Tech Coming To Direct Sales - Tearing Down the Wall by isocket
Tech Coming To Direct Sales - Tearing Down the Wall by isocketTech Coming To Direct Sales - Tearing Down the Wall by isocket
Tech Coming To Direct Sales - Tearing Down the Wall by isocketOximity
 
Lean Learning: Deliver Relevant Content When and Where It’s Needed
Lean Learning: Deliver Relevant Content When and Where It’s NeededLean Learning: Deliver Relevant Content When and Where It’s Needed
Lean Learning: Deliver Relevant Content When and Where It’s NeededHuman Capital Media
 
Synergistic Treatment Charts 2016
Synergistic Treatment Charts 2016Synergistic Treatment Charts 2016
Synergistic Treatment Charts 2016Ron W. Vanzetta
 
Tema 4 controladores de nivel ici-equipo plc
Tema 4 controladores de nivel  ici-equipo plcTema 4 controladores de nivel  ici-equipo plc
Tema 4 controladores de nivel ici-equipo plcPLC AREA DE GRADO
 
OAuth 2.0 refresher Talk
OAuth 2.0 refresher TalkOAuth 2.0 refresher Talk
OAuth 2.0 refresher Talkmarcwan
 

Andere mochten auch (20)

SMX East 2012 - Google Shopping/PLAs and Bing RAIS
SMX East 2012 - Google Shopping/PLAs and Bing RAISSMX East 2012 - Google Shopping/PLAs and Bing RAIS
SMX East 2012 - Google Shopping/PLAs and Bing RAIS
 
Getting started with Google Analytics and the AdWords API
Getting started with Google Analytics and the AdWords APIGetting started with Google Analytics and the AdWords API
Getting started with Google Analytics and the AdWords API
 
AdWords Scripts (Spanish)
AdWords Scripts (Spanish)AdWords Scripts (Spanish)
AdWords Scripts (Spanish)
 
Bid Estimation with the AdWords API (v2)
Bid Estimation with the AdWords API (v2)Bid Estimation with the AdWords API (v2)
Bid Estimation with the AdWords API (v2)
 
Opportunity Analysis with Kratu (v2)
Opportunity Analysis with Kratu (v2)Opportunity Analysis with Kratu (v2)
Opportunity Analysis with Kratu (v2)
 
Reporting tips & tricks
Reporting tips & tricksReporting tips & tricks
Reporting tips & tricks
 
Der Untenstehende auf Zehenspitzen. Innovationsmanagement am Beispiel der ETH...
Der Untenstehende auf Zehenspitzen. Innovationsmanagement am Beispiel der ETH...Der Untenstehende auf Zehenspitzen. Innovationsmanagement am Beispiel der ETH...
Der Untenstehende auf Zehenspitzen. Innovationsmanagement am Beispiel der ETH...
 
Jo sóc jo i les meves circumstàncies ... o no
Jo sóc jo i les meves circumstàncies ... o noJo sóc jo i les meves circumstàncies ... o no
Jo sóc jo i les meves circumstàncies ... o no
 
Handouts march 21, 2014 - singapore - mi - trade launch
Handouts   march 21, 2014 - singapore - mi - trade launchHandouts   march 21, 2014 - singapore - mi - trade launch
Handouts march 21, 2014 - singapore - mi - trade launch
 
Para una sexualidad liberadora por Margarita bofarull (ponencia)
Para una sexualidad liberadora por Margarita bofarull (ponencia)Para una sexualidad liberadora por Margarita bofarull (ponencia)
Para una sexualidad liberadora por Margarita bofarull (ponencia)
 
Maptek forge mar_14
Maptek forge mar_14Maptek forge mar_14
Maptek forge mar_14
 
Presentacion future net español
Presentacion future net españolPresentacion future net español
Presentacion future net español
 
Zoom Comunicación Estratégica
Zoom Comunicación EstratégicaZoom Comunicación Estratégica
Zoom Comunicación Estratégica
 
Il percorso Enea per la mobilità sostenibile
Il percorso Enea per la mobilità sostenibileIl percorso Enea per la mobilità sostenibile
Il percorso Enea per la mobilità sostenibile
 
Tech Coming To Direct Sales - Tearing Down the Wall by isocket
Tech Coming To Direct Sales - Tearing Down the Wall by isocketTech Coming To Direct Sales - Tearing Down the Wall by isocket
Tech Coming To Direct Sales - Tearing Down the Wall by isocket
 
Spanish and Catalan University Libraries; Some Facts and Trends
Spanish and Catalan University Libraries; Some Facts and TrendsSpanish and Catalan University Libraries; Some Facts and Trends
Spanish and Catalan University Libraries; Some Facts and Trends
 
Lean Learning: Deliver Relevant Content When and Where It’s Needed
Lean Learning: Deliver Relevant Content When and Where It’s NeededLean Learning: Deliver Relevant Content When and Where It’s Needed
Lean Learning: Deliver Relevant Content When and Where It’s Needed
 
Synergistic Treatment Charts 2016
Synergistic Treatment Charts 2016Synergistic Treatment Charts 2016
Synergistic Treatment Charts 2016
 
Tema 4 controladores de nivel ici-equipo plc
Tema 4 controladores de nivel  ici-equipo plcTema 4 controladores de nivel  ici-equipo plc
Tema 4 controladores de nivel ici-equipo plc
 
OAuth 2.0 refresher Talk
OAuth 2.0 refresher TalkOAuth 2.0 refresher Talk
OAuth 2.0 refresher Talk
 

Ähnlich wie AdWords API Feed Services

API Update Rundown
API Update RundownAPI Update Rundown
API Update Rundownmarcwan
 
AdWords Scripts
AdWords ScriptsAdWords Scripts
AdWords Scriptsmarcwan
 
Reporting tips & tricks
Reporting tips & tricks  Reporting tips & tricks
Reporting tips & tricks marcwan
 
AwReporting Tool
AwReporting ToolAwReporting Tool
AwReporting Toolmarcwan
 
Google Adwords API
Google Adwords APIGoogle Adwords API
Google Adwords APIMrkt360 Inc.
 
Getting Started with AdWords API and Google Analytics
Getting Started with AdWords API and Google AnalyticsGetting Started with AdWords API and Google Analytics
Getting Started with AdWords API and Google Analyticsmarcwan
 
AdWords API - How to build a platform
AdWords API - How to build a platformAdWords API - How to build a platform
AdWords API - How to build a platformTimoBoz
 
Rate limits and performance Talk
Rate limits and performance TalkRate limits and performance Talk
Rate limits and performance Talkmarcwan
 
Mobile landing pages
Mobile landing pagesMobile landing pages
Mobile landing pagesmarcwan
 
Why use ad words api
Why use ad words apiWhy use ad words api
Why use ad words apisupergigas
 
GMB API (Google My Business)
GMB API (Google My Business)GMB API (Google My Business)
GMB API (Google My Business)supergigas
 
Google tag manager fundamentals question and answer (june 23 and july 24, 2015)
Google tag manager fundamentals question and answer (june 23 and july 24, 2015)Google tag manager fundamentals question and answer (june 23 and july 24, 2015)
Google tag manager fundamentals question and answer (june 23 and july 24, 2015)Mahendra Patel
 
Extension Setting Services
Extension Setting ServicesExtension Setting Services
Extension Setting Servicessupergigas
 
Shopping Campaigns and AdWords API
Shopping Campaigns and AdWords APIShopping Campaigns and AdWords API
Shopping Campaigns and AdWords APImarcwan
 
API Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsAPI Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsApigee | Google Cloud
 

Ähnlich wie AdWords API Feed Services (20)

API Update Rundown
API Update RundownAPI Update Rundown
API Update Rundown
 
AdWords Scripts
AdWords ScriptsAdWords Scripts
AdWords Scripts
 
Reporting tips & tricks
Reporting tips & tricks  Reporting tips & tricks
Reporting tips & tricks
 
AwReporting Tool
AwReporting ToolAwReporting Tool
AwReporting Tool
 
Google Adwords API
Google Adwords APIGoogle Adwords API
Google Adwords API
 
Getting Started with AdWords API and Google Analytics
Getting Started with AdWords API and Google AnalyticsGetting Started with AdWords API and Google Analytics
Getting Started with AdWords API and Google Analytics
 
AdWords API - How to build a platform
AdWords API - How to build a platformAdWords API - How to build a platform
AdWords API - How to build a platform
 
Rate limits and performance Talk
Rate limits and performance TalkRate limits and performance Talk
Rate limits and performance Talk
 
Mobile landing pages
Mobile landing pagesMobile landing pages
Mobile landing pages
 
Api (1)
Api (1)Api (1)
Api (1)
 
Upgraded URLs
Upgraded URLsUpgraded URLs
Upgraded URLs
 
Why use ad words api
Why use ad words apiWhy use ad words api
Why use ad words api
 
GMB API (Google My Business)
GMB API (Google My Business)GMB API (Google My Business)
GMB API (Google My Business)
 
Google tag manager fundamentals question and answer (june 23 and july 24, 2015)
Google tag manager fundamentals question and answer (june 23 and july 24, 2015)Google tag manager fundamentals question and answer (june 23 and july 24, 2015)
Google tag manager fundamentals question and answer (june 23 and july 24, 2015)
 
E-Bazaar
E-BazaarE-Bazaar
E-Bazaar
 
Extension Setting Services
Extension Setting ServicesExtension Setting Services
Extension Setting Services
 
Api manager preconference
Api manager preconferenceApi manager preconference
Api manager preconference
 
Shopping Campaigns and AdWords API
Shopping Campaigns and AdWords APIShopping Campaigns and AdWords API
Shopping Campaigns and AdWords API
 
API Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsAPI Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIs
 
Adobe Analytics training course
Adobe Analytics training courseAdobe Analytics training course
Adobe Analytics training course
 

Mehr von marcwan

Opportunity Analysis with Kratu
Opportunity Analysis with KratuOpportunity Analysis with Kratu
Opportunity Analysis with Kratumarcwan
 
AdWords API & OAuth 2.0, Advanced
AdWords API & OAuth 2.0, Advanced AdWords API & OAuth 2.0, Advanced
AdWords API & OAuth 2.0, Advanced marcwan
 
AdWords Scripts and MCC Scripting
AdWords Scripts and MCC ScriptingAdWords Scripts and MCC Scripting
AdWords Scripts and MCC Scriptingmarcwan
 
AwReporting Update
AwReporting UpdateAwReporting Update
AwReporting Updatemarcwan
 
API Updates for v201402
API Updates for v201402API Updates for v201402
API Updates for v201402marcwan
 
AdWords API Targeting Options
AdWords API Targeting OptionsAdWords API Targeting Options
AdWords API Targeting Optionsmarcwan
 
Reporting Tips and Tricks (Spanish)
Reporting Tips and Tricks (Spanish)Reporting Tips and Tricks (Spanish)
Reporting Tips and Tricks (Spanish)marcwan
 
Rate limits and performance (Spanish)
Rate limits and performance (Spanish)Rate limits and performance (Spanish)
Rate limits and performance (Spanish)marcwan
 
OAuth 2.0 (Spanish)
OAuth 2.0 (Spanish)OAuth 2.0 (Spanish)
OAuth 2.0 (Spanish)marcwan
 
End to-end how to build a platform (Spanish)
End to-end how to build a platform (Spanish)End to-end how to build a platform (Spanish)
End to-end how to build a platform (Spanish)marcwan
 
AwReporting tool introduction (Spanish)
AwReporting tool introduction (Spanish)AwReporting tool introduction (Spanish)
AwReporting tool introduction (Spanish)marcwan
 
Api update rundown (Spanish)
Api update rundown (Spanish)Api update rundown (Spanish)
Api update rundown (Spanish)marcwan
 
Mobile landing pages (Spanish)
Mobile landing pages (Spanish)Mobile landing pages (Spanish)
Mobile landing pages (Spanish)marcwan
 
Rate limits and performance
Rate limits and performanceRate limits and performance
Rate limits and performancemarcwan
 
OAuth 2.0 refresher
OAuth 2.0 refresherOAuth 2.0 refresher
OAuth 2.0 refreshermarcwan
 
End to-end how to build a platform
End to-end how to build a platformEnd to-end how to build a platform
End to-end how to build a platformmarcwan
 
AwReporting Tool
AwReporting ToolAwReporting Tool
AwReporting Toolmarcwan
 
Api update rundown
Api update rundownApi update rundown
Api update rundownmarcwan
 
AdWords Scripts
AdWords ScriptsAdWords Scripts
AdWords Scriptsmarcwan
 
Reporting tips & tricks (russian)
Reporting tips & tricks (russian)Reporting tips & tricks (russian)
Reporting tips & tricks (russian)marcwan
 

Mehr von marcwan (20)

Opportunity Analysis with Kratu
Opportunity Analysis with KratuOpportunity Analysis with Kratu
Opportunity Analysis with Kratu
 
AdWords API & OAuth 2.0, Advanced
AdWords API & OAuth 2.0, Advanced AdWords API & OAuth 2.0, Advanced
AdWords API & OAuth 2.0, Advanced
 
AdWords Scripts and MCC Scripting
AdWords Scripts and MCC ScriptingAdWords Scripts and MCC Scripting
AdWords Scripts and MCC Scripting
 
AwReporting Update
AwReporting UpdateAwReporting Update
AwReporting Update
 
API Updates for v201402
API Updates for v201402API Updates for v201402
API Updates for v201402
 
AdWords API Targeting Options
AdWords API Targeting OptionsAdWords API Targeting Options
AdWords API Targeting Options
 
Reporting Tips and Tricks (Spanish)
Reporting Tips and Tricks (Spanish)Reporting Tips and Tricks (Spanish)
Reporting Tips and Tricks (Spanish)
 
Rate limits and performance (Spanish)
Rate limits and performance (Spanish)Rate limits and performance (Spanish)
Rate limits and performance (Spanish)
 
OAuth 2.0 (Spanish)
OAuth 2.0 (Spanish)OAuth 2.0 (Spanish)
OAuth 2.0 (Spanish)
 
End to-end how to build a platform (Spanish)
End to-end how to build a platform (Spanish)End to-end how to build a platform (Spanish)
End to-end how to build a platform (Spanish)
 
AwReporting tool introduction (Spanish)
AwReporting tool introduction (Spanish)AwReporting tool introduction (Spanish)
AwReporting tool introduction (Spanish)
 
Api update rundown (Spanish)
Api update rundown (Spanish)Api update rundown (Spanish)
Api update rundown (Spanish)
 
Mobile landing pages (Spanish)
Mobile landing pages (Spanish)Mobile landing pages (Spanish)
Mobile landing pages (Spanish)
 
Rate limits and performance
Rate limits and performanceRate limits and performance
Rate limits and performance
 
OAuth 2.0 refresher
OAuth 2.0 refresherOAuth 2.0 refresher
OAuth 2.0 refresher
 
End to-end how to build a platform
End to-end how to build a platformEnd to-end how to build a platform
End to-end how to build a platform
 
AwReporting Tool
AwReporting ToolAwReporting Tool
AwReporting Tool
 
Api update rundown
Api update rundownApi update rundown
Api update rundown
 
AdWords Scripts
AdWords ScriptsAdWords Scripts
AdWords Scripts
 
Reporting tips & tricks (russian)
Reporting tips & tricks (russian)Reporting tips & tricks (russian)
Reporting tips & tricks (russian)
 

Kürzlich hochgeladen

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 

AdWords API Feed Services

  • 1. AdWords API Workshops – All rights reserved
  • 2. Feed Services Managing Feeds with the AdWords API Adam Ohren, Google, Inc. AdWords API Workshops – All rights reserved
  • 3. Agenda ● ● ● ● ● ● Feed Concepts Creating New Feeds Populating Ad Extensions Reporting Best Practices Reuse of our Example Code AdWords API Workshops – All rights reserved
  • 4. Feed Concepts AdWords API Workshops – All rights reserved
  • 5. What is a Feed? Feed ● Account-level table ● Collection of mutable rows ● Data provider for ad extensions ○ Sitelink extensions ○ Call extensions ○ App extensions AdWords API Workshops – All rights reserved Attr1 Attr2 Attr3 Item1 Val1 Val2 Val3 Item2 Val4 Val5 Val6
  • 6. Feed Benefits Feed ● ● ● ● Dynamically update extensions Modify extensions in-place Retain reporting stats FeedItem-level device preference AdWords API Workshops – All rights reserved Attr1 Attr2 Attr3 Item1 Val1 Val2 Val3 Item2 Val4 Val5 Val6
  • 8. A Database Analogy AdWords API Workshops – All rights reserved Ad Extension
  • 9. All the Pieces Data AdWords API Workshops – All rights reserved Extension Type Ad Extensions
  • 10. Feed Services API ● ● ● ● ● FeedService FeedItem Service FeedMapping Service CampaignFeed Service AdGroupFeed Service AdWords API Workshops – All rights reserved
  • 11. Creating New Feeds AdWords API Workshops – All rights reserved
  • 12. Creating New Feeds 1. Create 2. Populate 3. Map AdWords API Workshops – All rights reserved
  • 13. Creating New Feeds To do this... …call this... ...with these! Create FeedService Feed FeedAttribute Populate FeedItemService FeedItem FeedItemAttribute Map FeedMappingService FeedMapping AdWords API Workshops – All rights reserved
  • 14. Create ● Adds new named collection of data ● Defines columns names & types AdWords API Workshops – All rights reserved
  • 15. Create 1. Create Feed a. Set name 2. Add FeedAttributes a. Set names b. Set types 3. Call FeedService.ADD AdWords API Workshops – All rights reserved
  • 16. Populate ● Inserts actual row items into the Feed ● Indicates per-item device preference (optional) ● Configures per-item time period (optional) AdWords API Workshops – All rights reserved
  • 17. Populate 1. Create FeedItem a. Set feedId 2. Add FeedItemAttributeValues a. Set feedAttributeId b. Set value 3. Call FeedItemService.ADD AdWords API Workshops – All rights reserved
  • 18. Map ● Declares which ad extensions can use Feed ● Defines which Feed columns are used in extension AdWords API Workshops – All rights reserved
  • 19. Map 1. Create FeedMapping a. set feedId b. set placeholderType 2. Add AttributeFieldMappings a. set feedAttributeId b. set fieldId 3. Call FeedMappingService.ADD AdWords API Workshops – All rights reserved
  • 20. Populating Ad Extensions AdWords API Workshops – All rights reserved
  • 21. Using Feed Data in Ad Extensions Feed FeedItem FeedItem FeedItem FeedItem FeedItem FeedItem FeedItem FeedItem FeedItem AdWords API Workshops – All rights reserved
  • 22. Using Feed Data in Ad Extensions Feed FeedItem matchingFunction FeedItem CampaignFeed Campaign AdGroupFeed AdGroup FeedItem FeedItem FeedItem FeedItem FeedItem FeedItem FeedItem AdWords API Workshops – All rights reserved matchingFunction
  • 23. Associate with Campaigns & AdGroups ● Adds ad extensions to Campaigns or AdGroups ● Defines how to pick FeedItems via a matching function AdWords API Workshops – All rights reserved
  • 24. Associating to Campaigns & AdGroups 1. Create CampaignFeed a. set feedId b. set campaignId c. set placeholderTypes 2. Add a matching Function a. set operator b. set operands 3. Call CampaignFeed.ADD AdWords API Workshops – All rights reserved
  • 25. Matching Functions Feed FeedItem FeedItem FeedItem matchingFunction CampaignFeed Campaign AdGroupFeed AdGroup FeedItemId IN (id1, id2, …) FeedItem FeedItem FeedItem FeedItem FeedItem FeedItem AdWords API Workshops – All rights reserved matchingFunction FeedItemId IN (idA, idB, …)
  • 26. Matching Functions Feed Campaign / AdGroup FeedItemId IN (6435602, 6436202) AdWords API Workshops – All rights reserved
  • 27. Reporting AdWords API Workshops – All rights reserved
  • 28. Feed-based Reporting Ad Extensions Performance Report ● DomainInfo ● Location ● LocationSync ● Sitelinks ● Mobile ● InAppLink AdWords API Workshops – All rights reserved Placeholder Feed Item Report ● Sitelinks ● Mobile ● InAppLink
  • 29. Placeholder Feed Item Report ● FeedItem-level statistics ● PlaceholderType ⇔ Ad extension type ● Sitelink ● Call ● App AdWords API Workshops – All rights reserved
  • 30. Best Practices AdWords API Workshops – All rights reserved
  • 31. Using Built-in ADWORDS Feeds ● Each ad extension type has a default Feed pre-built ● Main sitelink feed ● Main phone number feed ● Main app feed ● Feed.origin = “ADWORDS” ● FeedAttributes (schema) are immutable AdWords API Workshops – All rights reserved
  • 32. Using User Defined Feeds ● Displayed in a dropdown alongside built-in Feeds ● Feed.origin = “USER” ● FeedAttributes (schema) are appendable AdWords API Workshops – All rights reserved
  • 33. Deleting Things Feed Entries ● Delete FeedItem AdWords API Workshops – All rights reserved VS Ad Extensions ● Remove Id from matching function
  • 34. Feed Trivia ● One CampaignFeed / AdGroupFeed per PlaceholderType ● Don’t send existing FeedAttributes in Feed.SET operations ● No validation on FeedItemIds in matchingFunctions ● Maximum of 20 Feeds per account ● Including built-in ADWORDS Feeds ● Can only delete Feeds & FeedItems via API (not UI) AdWords API Workshops – All rights reserved
  • 35. Reusing Our Example Code How to change our code to your bidding AdWords API Workshops – All rights reserved
  • 36. Use The Code, Luke! ● Examples available for each Client Library ○ https://developers.google.com/adwords/api/docs/clientlibraries ● Don’t do the hard work yourself ● Start with the Sitelinks examples ● Convert that to Calls or other Extensions AdWords API Workshops – All rights reserved
  • 37. PLACEHOLDERs - what are they for? What kind of Feed or Field you’re using is set by the PLACEHOLDERs you assign, for example: PLACEHOLDER_SITELINKS = 1; PLACEHOLDER_CALL = 2; ... PLACEHOLDER_FIELD_CALL_ONLY = 4; See: https://developers.google.com/adwords/api/docs/appendix/placeholders AdWords API Workshops – All rights reserved
  • 38. Fields Add the required Fields for that Extension: ● Sitelink: Text, URL (up to 6 pairs) ● Call or : Phone Number, Country Code, isCallTracking, Mobile : isCallOnly, Conversion Duration Threshold ● App : Store, Id, Link Text, URL AdWords API Workshops – All rights reserved
  • 39. Then just tidy up ● Rename stuff to make sense The example code will have method and parameter names that say SiteLink in them. Change these to Call or App or whatever, to match what you’re doing. AdWords API Workshops – All rights reserved
  • 40. Then just tidy up ● Ensure you include all the Attributes you’re using: FeedAttribute textAttribute = new FeedAttribute(); textAttribute.setType(FeedAttributeType.STRING); textAttribute.setName("Link Text"); Becomes: FeedAttribute numberAttribute = new FeedAttribute(); numberAttribute.setType(FeedAttributeType.STRING); numberAttribute.setName("Phone Number"); : AdWords API Workshops – All rights reserved
  • 41. Then just tidy up ● Get the right FeedAttributeType: FeedAttribute iCOAttribute = new FeedAttribute(); iCOAttribute.setType(FeedAttributeType.BOOLEAN); iCOAttribute.setName("Is Call Only"); AdWords API Workshops – All rights reserved
  • 42. Then just tidy up ● Get the right AttributeId in the right place: Feed savedFeed = result.getValue()[0]; // a new FeedReturnValue callData.callFeedId = savedFeed.getId(); // a data holder object FeedAttribute[] savedAttributes = savedFeed.getAttributes(); callData.numberFeedAttributeId = savedAttributes[0].getId(); callData.ccFeedAttributeId = savedAttributes[1].getId(); callData.iCTFeedAttributeId = savedAttributes[2].getId(); ... // other Attribute lines AdWords API Workshops – All rights reserved
  • 44. Questions? AdWords API Workshops – All rights reserved
  • 45. AdWords API Workshops – All rights reserved