Upload
marcwan
View
307
Download
6
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
Google Inc. - All Rights Reserved
Feeds Update
Adam Ohren, Google, Inc.<Presenter’s name>, Google, Inc.
Agenda
● Quick Feed Concepts Review
● What's New
● Location Feeds Deep Dive
● Reporting
● Best Practices
Google Inc. - All Rights Reserved
Feed ConceptsA Quick Review
Google Inc. - All Rights Reserved
Feed● Account-level table● Collection of mutable rows● Data provider for ad extensions
What is a Feed?
Attr1 Attr2 Attr3
Item1 Val1 Val2 Val3
Item2 Val4 Val5 Val6
Google Inc. - All Rights Reserved
All of the PiecesData Extension Type Ad Extensions
CustomerFeedfeedIdplaceholderTypesmatchingFunction
Google Inc. - All Rights Reserved
Creating New Feeds
To do this... …call this... ...with these!
Create FeedService FeedFeedAttribute
Populate FeedItemService FeedItemFeedItemAttribute
Map Attributes FeedMappingService FeedMapping
Map Items CustomerFeedServiceCampaignFeedServiceAdGroupFeedService
CustomerFeedCampaignFeedAdGroupFeed
Google Inc. - All Rights Reserved
What's New
Google Inc. - All Rights Reserved
● Feed name uniqueness
● Call extensions○ Say goodbye to CONVERSION DURATION THRESHOLD○ Say hello to AdCallMetricsConversion
● CustomerFeedService
● Three new types of feeds:○ App○ Review○ Location
The Latest Happenings in the World of Feeds
Google Inc. - All Rights Reserved
● Attempting to add a new Feed with the same name as an existing ACTIVE feed will fail with a FeedError
● Existing duplicate Feeds will be renamed automatically
● AdWords won't touch duplicates fixed before this change
● Make sure your application can handle the name changes
See our recent blog post for details.
Feed Name Uniqueness
Google Inc. - All Rights Reserved
CONVERSIONDURATION
THRESHOLD
Call Extension Changes
AdCallMetricsConversion
As announced in a recent blog post:
Google Inc. - All Rights Reserved
● Create an AdCallMetricsConversion with the proper phoneCallDuration value (in seconds)
● Add a new FeedAttribute for CONVERSION TYPE ID● Populate the new attribute on your call extension
FeedItems with the ID of the AdCallMetricsConversion● Replace the existing FeedMapping with one with:
● an AttributeFieldMapping for CONVERSION TYPE ID added● the AttributeFieldMapping for CALL DURATION THRESHOLD
removed
Using an AdCallMetricsConversion
Google Inc. - All Rights Reserved
● AdWords API v201402 includes a new CustomerFeedService, as well as a new CustomerFeed type
● CustomerFeeds are the same as CampaignFeeds and AdGroupFeeds -- they're just defined at the AdWords account level
● Can be used with App, Location and Review Extensions
New Service: CustomerFeedService
Google Inc. - All Rights Reserved
A CustomerFeed is:● Required for Location feeds (more on that in a minute)● Optional for App and Review feeds
A CustomerFeed simply adds a new level where you can define the mapping from feed items to extension types.● The most specific mapping (rightmost) "wins":CustomerFeed -> CampaignFeed -> AdGroupFeed
New Type: CustomerFeed
Google Inc. - All Rights Reserved
Customer/Campaign/AdGroupFeeds
CustomerFeed
Campaign A
CampaignFeed
Campaign B
AdGroup A1
AdGroupFeed
AdGroup B1 AdGroup B2
Customer/Account
Google Inc. - All Rights Reserved
● Displays a link in your ad that points to your mobile app.
● Only applicable for Mobile & Tablet devices
App Extensions
Google Inc. - All Rights Reserved
App Extension Fields
ID Field Data Type Notes
1 STORE INT64 1 for iTunes2 for Google Play
2 ID STRING Store-specific ID
3 LINK TEXT STRING Text for the destination URL
4 URL URL Destination URL
Google Inc. - All Rights Reserved
● Show accolades from reputable third parties in your ad.● Review text is one of:
Exact Paraphrased
Review Extensions
Google Inc. - All Rights Reserved
Review Extension Fields
ID Field Data Type Notes
1 TEXT STRING Exact quote or paraphrase from a third-party source
2 SOURCE NAME STRING Name of the third-party publisher
3 SOURCE URL URL Landing page of the third-party website of the review
4 TEXT EXACTLY QUOTED
BOOLEAN true for exact quotefalse for paraphrased
Google Inc. - All Rights Reserved
Location Feeds Deep Dive
Google Inc. - All Rights Reserved
● Show locations from your Google Places for Business account
● Set it and forget it - AdWords keeps itself in sync with Places automatically
● Only supports Places locations - no manually entered addresses
Location Extensions
Google Inc. - All Rights Reserved
1. The Feed needs its systemFeedGenerationData set to a PlacesLocationFeedData object
2. Set the Feed's origin to ADWORDS.3. AdWords handles many aspects for you
● Creates the FeedAttributes for the feed (do not specify these in your mutate ADD operation)
● Creates a FeedMapping● Creates and maintains the FeedItems
4. You must create a CustomerFeed
Key Differences vs. Other Extension Types
Google Inc. - All Rights Reserved
The PlacesLocationFeedData object associates your AdWords feed with a Google Places for Business account.
You'll need the following:● Email address of the owner of the Google Places for
Business account (this identifies the account)● An OAuth2 access token for the Places scope
● You can use the OAuth2 Playground to generate the access token
Creating the Feed
Google Inc. - All Rights Reserved
Creating the PlacesLocationFeedDataField Sample
emailAddress [email protected]
businessNameFilter* "Ads Developers Restaurant and Bar"
categoryFilters* { "Restaurant or Cafe", "Food and Drink" }
oAuthInfo
Field Sample
httpMethod GET
httpRequestUrl https://www.google.com/local/add
httpAuthorizationHeader Bearer ya29.1.A12xY_ABCdefGHIjkl-MNOpqrSTUVW...
* Optional field
HTML
Google Inc. - All Rights Reserved
CustomerFeed - Using IDENTITY
<matchingFunction> <operator>IDENTITY</operator> <lhsOperand> <FunctionArgumentOperand.Type>ConstantOperand
</FunctionArgumentOperand.Type> <type>BOOLEAN</type> <booleanValue>true</booleanValue> </lhsOperand></matchingFunction><status>ACTIVE</status>
See the AddPlacesLocationExtensions example
Use the IDENTITY operator to define a matching functionthat always evaluates to TRUE and has no rhsOperand
Google Inc. - All Rights Reserved
As with other feed-based extensions, you have the option of creating CampaignFeeds or AdGroupFeeds to further refine the location selection at the Campaign or AdGroup level. Keep in mind:● CustomerFeed is required -- this is unique to location
extensions● Since FeedItems are automatically created and
managed by AdWords, your matchingFunction should use the BUSINESS NAME and CATEGORIES placeholder fields, not FeedItem IDs
Refine Selection for Campaigns or AdGroups
HTML
Google Inc. - All Rights Reserved
Selecting Feed Items
<matchingFunction> <operator>EQUALS</operator> <lhsOperand> <FunctionArgumentOperand.Type>FeedAttributeOperand
</FunctionArgumentOperand.Type> <feedId>12345678</feedId> <feedAttributeId>1</feedAttributeId> </lhsOperand> <rhsOperand> <FunctionArgumentOperand.Type>ConstantOperand
</FunctionArgumentOperand.Type> <type>STRING</type> <stringValue>Ads Developers Music Shop</stringValue> </rhsOperand></matchingFunction>
Google Inc. - All Rights Reserved
Reporting
Google Inc. - All Rights Reserved
Feed-based Reporting
Non-upgraded location extensions Ad Extensions Performance Report
Everything else:● Sitelink● App● Call● Locations (Google Places)● Review
Placeholder Feed Items Report
Google Inc. - All Rights Reserved
● FeedItem-level statistics● Use IsSelfAction = 'This extension' to limit to clicks for each FeedItem
● If not filtering by IsSelfAction, then clicks and impressions may be counted more than once
Placeholder Feed Item Report
Google Inc. - All Rights Reserved
Best Practices
Google Inc. - All Rights Reserved
● Each ad extension type has a default pre-built Feed○ Main sitelink feed○ Main app feed○ Main phone number feed○ Main location feed○ Main review feed
● Feed.origin ⇒ ADWORDS● FeedAttributes (schema) are immutable
Using Built-in ADWORDS Feeds
Google Inc. - All Rights Reserved
● Displayed in a dropdown alongside built-in Feeds● Can only be created via the API● Feed.origin ⇒ USER● FeedAttributes (schema) are appendable
Using User Defined Feeds
HTML
Google Inc. - All Rights Reserved
Disabling Feeds for a Campaign or AdGroup
<feedId>12345678</feedId> <!-- ID of the 'Main sitelink feed' --><matchingFunction> <operator>IDENTITY</operator> <lhsOperand> <FunctionArgumentOperand.Type>ConstantOperand</FunctionArgumentOperand.Type> <type>BOOLEAN</type> <booleanValue>false</booleanValue> </lhsOperand></matchingFunction><status>ACTIVE</status>
Use the IDENTITY operator to define a matching functionthat always evaluates to FALSE and has no rhsOperand
Google Inc. - All Rights Reserved
● Regardless of placeholder type, you can only have ONE:○ CustomerFeed per Customer + Feed○ CampaignFeed per Campaign + Feed○ AdGroupFeed per AdGroup + Feed
● Don't send existing FeedAttributes in SET FeedOperations● No validation on FeedItemIds in matchingFunctions● Maximum of 20 ACTIVE Feeds per account
○ Including built-in ADWORDS feeds
Feed Trivia Part One
Google Inc. - All Rights Reserved
● CustomerFeed is not used for sitelink or call extensions● CustomerFeed is required for location extensions but is
optional for app and review extensions● Delete feeds in the following order:
○ CustomerFeed / CampaignFeed / AdGroupFeed○ FeedMapping○ FeedItems○ Feed
● Disable an extension type at the Campaign or AdGroup level with a matching function that always returns false
Feed Trivia Part Two
Google Inc. - All Rights Reserved
ResourcesGuide & Reference
https://developers.google.com/adwords/api/docs/guides/feed-serviceshttps://developers.google.com/adwords/api/docs/guides/feed-services-locationshttps://developers.google.com/adwords/api/docs/appendix/placeholdershttps://developers.google.com/adwords/api/docs/appendix/feed-errors
Google Inc. - All Rights Reserved
Questions?
Google Inc. - All Rights Reserved