How to get placement list via AWQL for mobile campaign

483 views
Skip to first unread message

Berry Tsakala

unread,
Aug 27, 2014, 3:23:00 AM8/27/14
to adwor...@googlegroups.com

i want to get a list of placement URLs per mobile campaign, using AWQL.

  1. For an "exclude" mobile campaign, i want to get the list of excluded placements,

  2. and for an "include" mobile campaign, i want to get the list of included placements,

  3. For that matter - do mobile-placements differ in API or reference than "normal" placements?

I tried several versions in several reports, but i can't get them. e.g.

Select PlacementUrl, IsNegative 
from CAMPAIGN_NEGATIVE_KEYWORDS_PERFORMANCE_REPORT 
where CampaignId=123456789

returns all excluded placements, only in a non-mobile campaign; The same query for a mobile campaign yields empty result set :(

More details and trials:

I tried using AUTOMATIC_PLACEMENTS_PERFORMANCE_REPORT:

  • but i got a "missing during clause" error - even though i'm not interested in dates.
  • even with duration = LAST_30_DAYS, the report came empty
  • Also none of the fields in this report is called "placement" or something.

For these reports, only an empty result set is returned (i of course verified that my real campaign (different number than show has excluded placements - it does, and many.) :

select CriteriaParameters, DisplayName, Domain, IsPathExcluded 
from AUTOMATIC_PLACEMENTS_PERFORMANCE_REPORT where CampaignId=123456789 
DURING TODAY

and

select PlacementUrl 
from PLACEMENT_PERFORMANCE_REPORT 
where CampaignId=123456789 DURING LAST_30_DAYS
  • btw: also SEARCH_QUERY_PERFORMANCE_REPORT doesn't contain any reference to placements (it name implies that this is the report for everything...)

The last hint. maybe it these negative placements were excluded ("added") via API: NegativeCampaignCriterion

Josh Radcliff (AdWords API Team)

unread,
Aug 27, 2014, 10:36:13 AM8/27/14
to adwor...@googlegroups.com
Hi,

You should be able to use the Placement Performance Report and differentiate between included/excluded placements via the IsNegative field.

Regarding the empty results, could you try adding at least one statistics field such as Impressions and let me know if that returns results for you?

If you're still having trouble after that, please provide a campaign ID so I can investigate further on my side.

Cheers,
Josh, AdWords API Team

Berry Tsakala

unread,
Aug 31, 2014, 11:20:10 AM8/31/14
to adwor...@googlegroups.com

it didn't solve my issue; i have a few questions about that:

1. i'd like to get a list of placement right-now, so I'm confused about the usage of "during" clause: should I write "TODAY" or give an all-time date range?

2. in this specific campaign(s), some placements has no stat data (campaigns built  solely for testing). Maybe this is the reason why they don't show up?

3. the less comfortable route would be using googleads API library.  Can I get those placement lists (negative, "positive") on the campaign level, or must I query the adgroup?  in my case, there's only one adgroup for each campaign, anyway.  

Berry Tsakala

unread,
Aug 31, 2014, 11:30:32 AM8/31/14
to adwor...@googlegroups.com

correction to the above:

i need to know what placements are active NOW, even if they did 0 performance so far

Berry Tsakala

unread,
Sep 2, 2014, 10:15:41 AM9/2/14
to adwor...@googlegroups.com

query = "Select PlacementUrl, Clicks from PLACEMENT_PERFORMANCE_REPORT where CampaignId IN [196669265,196700705,196697825,197152865,196697945] during LAST_WEEK"

[empty results]

query = "Select PlacementUrl, AverageCpc, IsNegative, Status from PLACEMENT_PERFORMANCE_REPORT where CampaignId IN [196669265,196700705,196697825,197152865,196697945] during LAST_WEEK"
"PLACEMENT_PERFORMANCE_REPORT (Aug 25, 2014-Aug 31, 2014)"
Placement,Avg. CPC,Is negative,Placement state
mobileappcategory::60000,198769,false,enabled
mobileappcategory::60000,105550,false,enabled
mobileappcategory::60000,134008,false,enabled
mobileappcategory::60000,313907,false,enabled
mobileappcategory::60500,291559,false,enabled
Total,171591, --, --

(BTW, why the mobileappcategory?  I need the mobile app themselves

I'm looking to build 2 reports:

1. ALL currently included / excluded placements,

2. campaign or adgroup statistics PER PLACEMENT. This example, as the above, gives details per mobileAppGroup, except that i didn't ask for it, and it doesn't help:

"Select PlacementUrl, AverageCpc from PLACEMENT_PERFORMANCE_REPORT where CampaignId IN [196669265,196700705,196697825,197152865,196697945] during LAST_MONTH"




On Wednesday, August 27, 2014 5:36:13 PM UTC+3, Josh Radcliff (AdWords API Team) wrote:

Josh Radcliff (AdWords API Team)

unread,
Sep 2, 2014, 5:34:24 PM9/2/14
to adwor...@googlegroups.com
Hi,

Since you are looking for placements that are active, regardless of whether or not they have impressions, you'll want to include zero impressions, which may require you to explicitly pass the includeZeroImpressions field, in which case you'll have to switch to the XML-based request.

Regarding the mobileAppGroup, you're getting that back because the PLACEMENT_PERFORMANCE_REPORT returns all types of placements, not just mobile apps. Also, I checked the campaigns from your predicate below, and all of them have placements defined in terms of mobile app groups, not specific mobile apps. Other campaigns in your account target specific mobile apps (e.g., campaign ID 156526025), but not the campaigns in your IN clause. If you remove the CampaignId predicate altogether you'll see rows for those apps.

Finally, regarding dates, this is more relevant if you are interested in stats. The date chosen doesn't have any impact on the zero impression rows. However, on rows for placements with impressions, the stats such as Cost, Impressions, etc., will reflect the values for the date range in your DURING clause. Also, the Status column will reflect the current state of each placement, regardless of the date range.

Thanks,
Josh, AdWords API Team

Berry Tsakala

unread,
Sep 4, 2014, 9:18:04 AM9/4/14
to adwor...@googlegroups.com
(I'll stick to just one of my questions)

In the UI, i can see statistics for individual placements - can I always see them via AWQL? 

The following query gives different per-placement results, depends on placement targeting schema.

select IsNegative, PlacementUrl, Clicks, AverageCpc, CampaignId from PLACEMENT_PERFORMANCE_REPORT where CampaignId=195263105 during LAST_WEEK


if a campaign targets predefined placements ("whitelist"), then the query returns stats per placement:

"PLACEMENT_PERFORMANCE_REPORT (Aug 25, 2014-Aug 31, 2014)"
Is negative,Placement,Clicks,Avg. CPC,Campaign ID
false,mobileapp::2-pl.idreams.skyforcehd,1,450000,195263105
false,mobileapp::2-com.easygame.marblelegend,1404,114843,195263105
false,mobileapp::2-com.greenmango.game.bubbleshooter,1,20000,195263105
[...]
Total, --,1621,125386, --
however, if the campaign is targeting whole categories/groups ("blacklist"),
then the UI does show per-placement statistics in the UI (see attached),
but not AWQL:

"PLACEMENT_PERFORMANCE_REPORT (Aug 25, 2014-Aug 31, 2014)"
Is negative,Placement,Clicks,Avg. CPC,Campaign ID
false,mobileappcategory::60000,1041,198769,196669265
Total, --,1041,198769, --



from my point of view there are 2 types of campaigns:
1. "whitelist": targeting specific placements 
2. "blacklist": targeting whole categories (or all placements possible) 
(What's the google-adwords term for each type?)

campaign IDs I used for "whitelist" example: 195263105
campaign IDs I used for "blacklist" example:  196669265


BTW:
I tried also keyword-performance-report, but got strange results (not placements, anyway)
stats-per-placement.jpg

Josh Radcliff (AdWords API Team)

unread,
Sep 4, 2014, 10:54:20 AM9/4/14
to adwor...@googlegroups.com
Hi,

Thanks for sending the screenshot -- that definitely helped me understand what you are trying to do.

To produce a report equivalent to that view in the UI, you'll want to use the URL_PERFORMANCE_REPORT, e.g.,

SELECT CampaignId, IsPathExcluded, Url, DisplayName, Impressions FROM URL_PERFORMANCE_REPORT WHERE CampaignId IN [196669265,195263105] DURING LAST_WEEK

This report gives you the "expanded" view of your placement exclusions/inclusions by placement URL (mobile app, in your case). By "expanded", I mean that if you are excluding based on MobileAppCategory, this report will still give you mobile app-level details.

In contrast, the PLACEMENT_PERFORMANCE_REPORT provides the "unexpanded" view. Whether you see things broken out by MobileApplication (whitelist, in your case) or MobileAppCategory (blacklist, in your case) is driven by which type of criteria you have on each campaign. If the campaign is targeting using MobileApplication criteria, then you'll get rows broken out by MobileApplication. If the campaign is targeting or excluding using MobileAppCategory criteria, you'll get rows broken out by MobileAppCategory.

Hopefully that clears things up. If not, please let me know.

Cheers,
Josh, AdWords API Team
Reply all
Reply to author
Forward
0 new messages