My name is Aaron Karp and now I'll be walking you through
changes that we are making to campaign targeting in v201109.
So first, I'm going to talk about the difference between
v201109 and v201101.
I'm gonna show you guys some examples of what it looks like
in the old version and what it looks like in the new version.
And then I'm gonna discuss a couple of helper services that
we're also releasing that make it easier to get different
campaign target types back from the API so you don't have
to rely on the tables and the documentation.
Similarly to how we were talking about report fields
being available by API service, now many of the
geo-targets, for example, are available by
API service, as well.
Here's how things looked in v201101.
At the campaign level within the settings property, you had
Geo-target Type, Real Time Bidding Settings.
You had these networks settings about Google Search,
Google Search Network, Contact Network, Contact Contextual,
Partner Search Network, that sort of thing.
Within the campaign target services, you have the Ad
Schedule Target, Language Target, Platform Target,
Mobile Target, Geo Target, and Demographic Target.
Here's what's happening in v201109.
So all that's left on the campaign target surface is the
Ad Schedule Target.
Language Target, Platform Target, Mobile Target, Geo
Target, Demographic Target--
all gone.
Where did they go?
To the Campaign Criterion Service.
What we're doing is we are starting to treat all of these
different targeting parameters the same way that we treat
keywords and placements--
as just another way of determining who sees your ad.
Just like the keyword search term helps identify a person
to show your ad to, same thing with gender, or age range, or
mobile operating system.
Those are all criteria that determine whether or not
someone is a good candidate to see your ad and
possibly click through.
So here's a quick mapping looking at the way things were
previously, the Ad Schedule Target, the Country Target,
Mobile Platform Target.
We've moved them into this criteria categorization.
For the most part, it's a one-to-one mapping with the
exception of Geo Target, where you can see city, country,
metro, province, et cetera, all get moved into the same
location, criterion side.
In the process of moving our targeting types into the
campaign criterion service, we needed to have criterion ideas
for all these new targeting types.
So looking at platform targets, for example, we have
these three platform targeting criteria--
desktop, high-end mobile, and tablet.
What you'll notice is interesting is that they have
unique, static criteria ID values because there's only
one row in our criteria table representing each of those
platform target types.
So let's look at a response from the
campaign target service.
In v201101, if you did a campaign target service .get
in the previous version, and you were looking at the
language targets, you might see what we
have at the top here.
Target type is language target.
Language code is English.
In v201109, we're gonna do campaign criterion service
.get, and we're gonna get back an array of criteria objects.
Here we have criterion xsi type is language.
It has that idea of 1,000, which you'll remember from the
previous slide identifies it as English.
We also have the code here, EN, for the language, and some
other data to help you out.
Note that when you send this XML to the API in order to
create a new criterion, you don't actually have to send
the vast majority of these fields.
All you really have to send is the xsi type and the ID.
Let's look at one more example, this time with
geo-targeting.
In the previous version of the API, you would receive the
following target for a province target.
Target type, province target.
Province code, US, Alabama.
In the new campaign criterion service response, you'll get
the following.
Xsi type is location.
The ID is 21133.
And the rest of it is helpful data that you might want to
have in response but doesn't necessarily need to be passed
in by you when you actually create one of these criteria.
You'll also notice that the response contains a parent
locations object, our parent location
elements in the XML here.
And that shows that the parent of Alabama is 2840, which
corresponds to the United States.
Let's look at the constant data service, which, as you
might imagine, returns data on various constants.
Right now it has two methods, one of which is get language
criterion, and that's gonna return an array of all the
different possible language criteria that you
might want to target.
Here's a snippet of the response.
First we have our English language target, ID 1,000.
We have our German language target, ID 1,001, French,
1,002, et cetera.
So you can use this instead of hard coding languages and IDs
into your application.
If you wanted to refresh this periodically, or even do it on
the fly, you have the option of polling a up-to-the-date
list that matches exactly what we have in
AdWords using this service.
We also have another new service called the location
criterion service.
This one is like a search service for matching different
geographic terms with the corresponding AdWords objects.
In this example here, I'm going to be searching for a
location using our nice, generic selector format.
I'm gonna pass on a predicate to search for where the
location name equals this set of Chinese characters.
This also serves to show how this service works
cross-language.
So what does the response look like for this search?
Those Chinese characters correspond to the city of
Beijing in China.
So we get back-- our criterion type is any location where the
name is Beijing, display type city.
And it also gives us back the parents.
So we can tell from this, that would be city of Beijing is
within the region of Beijing, which is within
the country of China.
And we can get back the canonical name as well right
here, which is Google canonical localized
representation of Beijing, in this case.
All right.
Let's look at a little bit of a code example.
How would one actually create one of these
new campaign criteria?
In this case, we're going to create a tablet target, and
we're going to create a geo-target for the country of
Mexico using PHP in this particular case.
So we create our new platform target object.
We set its ID.
Now, again, you can pull that from your database.
You can pull that from our ConstantData service.
Or you can just have it hard coded in, as well.
We're gonna create a new campaign criterion object
using this ID.
Pretty simple.
Then we're gonna do the same exact thing
with the country targets.
A new location object.
We're going to create a campaign criterion object that
encloses that location.
We're gonna add it to our array of campaign criteria.
And then below is what you guys are already familiar
with, basically setting the operator as add and sending it
to the campaign criterion service
with the mutate method.
So where can you find these ideas?
Well, a couple of them are available in the
ConstantData service.
But for everything else, we have published lists of codes
down at the very bottom left of the documentation page
under system codes.
You can see here, I have the age ranges selected.
So these are the different criterion IDs for all these
possible age range targets.
All right.
Thank you very much.