0
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 Exampl...
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 exte...
Feed Benefits
Feed

●
●
●
●

Dynamically update extensions
Modify extensions in-place
Retain reporting stats
FeedItem-leve...
A Database Analogy
Table

Feed

Column

FeedAttribute

Row

FeedItem

Field

FeedItemAttributeValue

AdWords API Workshops...
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

Ad...
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

FeedIt...
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 W...
Populate
● Inserts actual row items into the Feed
● Indicates per-item device preference
(optional)
● Configures per-item ...
Populate
1. Create FeedItem
a. Set feedId

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

3. Call Fee...
Map
● Declares which ad extensions can use
Feed
● Defines which Feed columns are used in
extension

AdWords API Workshops ...
Map
1. Create FeedMapping
a. set feedId
b. set placeholderType

2. Add AttributeFieldMappings
a. set feedAttributeId
b. se...
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

Ad...
Using Feed Data in Ad Extensions
Feed
FeedItem

matchingFunction

FeedItem

CampaignFeed

Campaign

AdGroupFeed

AdGroup

...
Associate with Campaigns & AdGroups
● Adds ad extensions to Campaigns or
AdGroups
● Defines how to pick FeedItems via a
ma...
Associating to Campaigns & AdGroups
1. Create CampaignFeed
a. set feedId
b. set campaignId
c. set placeholderTypes

2. Add...
Matching Functions
Feed
FeedItem
FeedItem
FeedItem

matchingFunction

CampaignFeed

Campaign

AdGroupFeed

AdGroup

FeedIt...
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
● InAppL...
Placeholder Feed Item Report
● FeedItem-level statistics
● PlaceholderType ⇔ Ad extension type
● Sitelink
● Call
● App

Ad...
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 numbe...
Using User Defined Feeds
● Displayed in a dropdown alongside built-in Feeds
● Feed.origin = “USER”
● FeedAttributes (schem...
Deleting Things
Feed Entries
● Delete FeedItem

AdWords API Workshops – All rights reserved

VS

Ad Extensions
● Remove Id...
Feed Trivia
● One CampaignFeed / AdGroupFeed per
PlaceholderType
● Don’t send existing FeedAttributes in Feed.SET
operatio...
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/clientli...
PLACEHOLDERs - what are they for?
What kind of Feed or Field you’re using is set by the
PLACEHOLDERs you assign, for examp...
Fields
Add the required Fields for that Extension:
● Sitelink:

Text, URL (up to 6 pairs)

● Call or : Phone Number, Count...
Then just tidy up
● Rename stuff to make sense

The example code will have method and parameter
names that say SiteLink in...
Then just tidy up
● Ensure you include all the Attributes you’re using:
FeedAttribute textAttribute = new FeedAttribute();...
Then just tidy up
● Get the right FeedAttributeType:
FeedAttribute iCOAttribute = new FeedAttribute();
iCOAttribute.setTyp...
Then just tidy up
● Get the right AttributeId in the right place:
Feed savedFeed = result.getValue()[0]; // a new FeedRetu...
Resources
Guide & Reference
https://developers.google.com/adwords/api/docs/guides/feed-services
https://developers.google....
Questions?

AdWords API Workshops – All rights reserved
AdWords API Workshops – All rights reserved
Upcoming SlideShare
Loading in...5
×

AdWords API Feed Services

2,894

Published on

AdWords API Workshops Q4 2013 Feed Services talk

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,894
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
60
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "AdWords API Feed Services"

  1. 1. AdWords API Workshops – All rights reserved
  2. 2. Feed Services Managing Feeds with the AdWords API Adam Ohren, Google, Inc. AdWords API Workshops – All rights reserved
  3. 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. 4. Feed Concepts AdWords API Workshops – All rights reserved
  5. 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. 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
  7. 7. A Database Analogy Table Feed Column FeedAttribute Row FeedItem Field FeedItemAttributeValue AdWords API Workshops – All rights reserved
  8. 8. A Database Analogy AdWords API Workshops – All rights reserved Ad Extension
  9. 9. All the Pieces Data AdWords API Workshops – All rights reserved Extension Type Ad Extensions
  10. 10. Feed Services API ● ● ● ● ● FeedService FeedItem Service FeedMapping Service CampaignFeed Service AdGroupFeed Service AdWords API Workshops – All rights reserved
  11. 11. Creating New Feeds AdWords API Workshops – All rights reserved
  12. 12. Creating New Feeds 1. Create 2. Populate 3. Map AdWords API Workshops – All rights reserved
  13. 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. 14. Create ● Adds new named collection of data ● Defines columns names & types AdWords API Workshops – All rights reserved
  15. 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. 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. 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. 18. Map ● Declares which ad extensions can use Feed ● Defines which Feed columns are used in extension AdWords API Workshops – All rights reserved
  19. 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. 20. Populating Ad Extensions AdWords API Workshops – All rights reserved
  21. 21. Using Feed Data in Ad Extensions Feed FeedItem FeedItem FeedItem FeedItem FeedItem FeedItem FeedItem FeedItem FeedItem AdWords API Workshops – All rights reserved
  22. 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. 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. 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. 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. 26. Matching Functions Feed Campaign / AdGroup FeedItemId IN (6435602, 6436202) AdWords API Workshops – All rights reserved
  27. 27. Reporting AdWords API Workshops – All rights reserved
  28. 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. 29. Placeholder Feed Item Report ● FeedItem-level statistics ● PlaceholderType ⇔ Ad extension type ● Sitelink ● Call ● App AdWords API Workshops – All rights reserved
  30. 30. Best Practices AdWords API Workshops – All rights reserved
  31. 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. 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. 33. Deleting Things Feed Entries ● Delete FeedItem AdWords API Workshops – All rights reserved VS Ad Extensions ● Remove Id from matching function
  34. 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. 35. Reusing Our Example Code How to change our code to your bidding AdWords API Workshops – All rights reserved
  36. 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. 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. 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. 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. 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. 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. 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
  43. 43. 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
  44. 44. Questions? AdWords API Workshops – All rights reserved
  45. 45. AdWords API Workshops – All rights reserved
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×