managed_placement_view - get Excluded Placements

83 views
Skip to first unread message

cv

unread,
Jul 29, 2019, 5:34:59 AM7/29/19
to AdWords API and Google Ads API Forum
Hi,

I wanted to get excluded placements for adgroup level.

Can anyone help how I can get same using Google Ads API?


Thanks,

Google Ads API Forum Advisor Prod

unread,
Jul 29, 2019, 1:14:00 PM7/29/19
to chirag....@gmail.com, adwor...@googlegroups.com
Hello,

You will want to run a report from the ad_group_criterion level. You can select the field ad_group_criterion.placement.url and a filter of ad_group_criterion.negative = TRUE.

Cheers,
Anthony
Google Ads API Team

ref:_00D1U1174p._5001UEGyF4:ref

cv

unread,
Jul 30, 2019, 12:51:05 AM7/30/19
to AdWords API and Google Ads API Forum
Hi Anthony,

Yes I did same.

But I got the different result from Adwords APi v201809 and Google Ads API.

I am using this with Google Ads API
$query = "SELECT
                        managed_placement_view.resource_name,
                        ad_group.id,
                        ad_group.name,
                        ad_group.status,
                        campaign.id,
                        campaign.name,
                        campaign.status,
                        ad_group_criterion.placement.url,
                        ad_group_criterion.criterion_id,
                        ad_group_criterion.status,
                        ad_group_criterion.negative,
                        ad_group_criterion.type
                   FROM
                       managed_placement_view
                   WHERE
                       segments.date DURING LAST_30_DAYS";

and With Adwords API.

$selector->setFields(
                ['Criteria', 'Status', 'AdGroupId', 'AdGroupName','CampaignId', 'CampaignName', 'CampaignStatus', 
                    'Conversions', 'Id', 'IsNegative'
                ]
        );
$reportDefinition->setDateRangeType(
                ReportDefinitionDateRangeType::LAST_30_DAYS
        );
        $reportDefinition->setReportType(
                ReportDefinitionReportType::PLACEMENT_PERFORMANCE_REPORT
        );
        $reportDefinition->setDownloadFormat(DownloadFormat::CSV);

Please consider that I have no filters added or No predicates used.

Thanks,

cv

unread,
Jul 30, 2019, 6:41:54 AM7/30/19
to AdWords API and Google Ads API Forum
I am also not getting Type through API.

How I can get Type which said site, App, Mobile Application etc..

Google Ads API Forum Advisor Prod

unread,
Jul 30, 2019, 10:33:03 AM7/30/19
to chirag....@gmail.com, adwor...@googlegroups.com
Hello,

You are using managed_placement_view. You should use the ad_group_criterion and also select the field ad_group_criterion.type.

Regards,

cv

unread,
Aug 5, 2019, 8:07:59 AM8/5/19
to AdWords API and Google Ads API Forum
Hi,

Does all managed Placement available through manage_placement_view.

How I can get Adgroup level and Camapign Level Managed placements?

Thanks,

Google Ads API Forum Advisor Prod

unread,
Aug 5, 2019, 10:41:43 AM8/5/19
to chirag....@gmail.com, adwor...@googlegroups.com
Hi,

This report view will give you placements from the ad group. You can use the ad_group_criterion.negative to see whether the placement is added or excluded.

cv

unread,
Aug 9, 2019, 6:36:17 AM8/9/19
to AdWords API and Google Ads API Forum
Hi,

Thanks for Input.

To get Data for Manage Placement I have used this query. But the no of rows in the report and in UI are different.
UI has 45 rows while report has 30.

$query = "SELECT campaign.id, "
                . "campaign.name, "
                . "campaign.status, "
                . "ad_group.id, "
                . "ad_group.name, "
                . "ad_group.status, "
                . "ad_group_criterion.criterion_id, "
                . "ad_group_criterion.placement.url, "
                . "ad_group_criterion.mobile_app_category.mobile_app_category_constant, "
                . "ad_group_criterion.mobile_application.app_id, "
                . "ad_group_criterion.youtube_channel.channel_id, "
                . "ad_group_criterion.youtube_video.video_id, "
                . "ad_group_criterion.status, "
                . "ad_group_criterion.negative, "
                . "ad_group_criterion.type, "
                . "FROM managed_placement_view "
                . "WHERE segments.date BETWEEN '$startDate' AND '$this->endDate' "
                . "AND campaign.status = 'ENABLED' "
                . "AND ad_group.status = 'ENABLED' "
                . "AND ad_group_criterion.negative = 'FALSE' "
                . "AND ad_group_criterion.criterion_id > '0' "
                . "AND ad_group_criterion.type IN ('MOBILE_APPLICATION', 'MOBILE_APP_CATEGORY', 'PLACEMENT', 'YOUTUBE_CHANNEL', 'YOUTUBE_VIDEO') "
                . "ORDER BY segments.date ASC";

cv

unread,
Aug 9, 2019, 6:38:01 AM8/9/19
to AdWords API and Google Ads API Forum
hi,

Please note I am not looking at Excluded placements.
I am looking at Managed placements only.

Under UI PLACEMENT Tab. As Excluded I from your help.

Thanks,

cv

unread,
Aug 9, 2019, 6:59:21 AM8/9/19
to AdWords API and Google Ads API Forum
Hi,

I cannot use ad_group_criterion as this is not supported by Any Metrics or Segments.

Thanks,

Google Ads API Forum Advisor Prod

unread,
Aug 9, 2019, 2:12:21 PM8/9/19
to chirag....@gmail.com, adwor...@googlegroups.com
Hi,

Yes, that's correct. If you use ad_group_criterion, you won't be able to use metrics or segments. You will need to use managed_placement_view to get metrics and segments for placements at the ad group level. If you want automatic placements, you can use group_placement_view.

cv

unread,
Aug 10, 2019, 4:15:18 AM8/10/19
to AdWords API and Google Ads API Forum
Yes, I As I said I have used group_placement_view to get automatic placements and Adgroup Criteria view to get excluded placements.
But My question still not answered.

Under Adwords API If I fetch Placement Performance Report with IsNegative = false and Id >0 I can have manage placements.
If I compare Adwords API data with Google Ads API the data is different
The difference is Under Adwords API I can have Daily data with All placements like in my case I can have daily data with 45 placemnets
but Google Ads API has only 30 records for entire range. So daily data gives me no data if No placements have any movement.
I have kept impressions = 0 allowed then also this is difference.


Thanks,

cv

unread,
Aug 13, 2019, 12:14:35 AM8/13/19
to AdWords API and Google Ads API Forum
Hi,

Any insights on this?

Thanks,

Google Ads API Forum Advisor Prod

unread,
Aug 13, 2019, 1:27:01 AM8/13/19
to chirag....@gmail.com, adwor...@googlegroups.com

Hi CV,

1) To answer your original question regarding manage_placement_view, as you can see in this doc:
https://developers.google.com/google-ads/api/fields/v2/managed_placement_view
In the "Selectable with" section, you can see that "ad_group", "ad_group_criterion" and "campaign" are all available to be selected in this view.

2) If you have data discrepancy issue either:
    - Between AdWords API and Google Ads API
    - Between UI and API
   Please reply with the details of your request/response log, as well as the UI screenshot (if applicable)
   This will help us identify the issue.

Thanks
Fei, Google Ads API Team



ref:_00D1U1174p._5001UEGyF4:ref

cv

unread,
Aug 13, 2019, 6:53:58 AM8/13/19
to AdWords API and Google Ads API Forum
Hi Fei,

1) To answer your original question regarding manage_placement_view, as you can see in this doc:
https://developers.google.com/google-ads/api/fields/v2/managed_placement_view
In the "Selectable with" section, you can see that "ad_group", "ad_group_criterion" and "campaign" are all available to be selected in this view.

No this wont helpful. As I have gone through it as I mentioned earlier. 

2) If you have data discrepancy issue either:
    - Between AdWords API and Google Ads API
    - Between UI and API
   Please reply with the details of your request/response log, as well as the UI screenshot (if applicable)
   This will help us identify the issue.

IF I use ad_group_criterion with metrics under managed_placement_view I can only have 30 rows for my specific period while old reports has all the placement regardless of any event there.

My Query:
$query = "SELECT campaign.id, "
                . "campaign.name, "
                . "campaign.status, "
                . "ad_group.id, "
                . "ad_group.name, "
                . "ad_group.status, "
                . "ad_group_criterion.criterion_id, "
                . "ad_group_criterion.placement.url, "
                . "ad_group_criterion.mobile_app_category.mobile_app_category_constant, "
                . "ad_group_criterion.mobile_application.app_id, "
                . "ad_group_criterion.youtube_channel.channel_id, "
                . "ad_group_criterion.youtube_video.video_id, "
                . "ad_group_criterion.status, "
                . "ad_group_criterion.negative, "
                . "ad_group_criterion.type, "
                . "metrics.impressions, "
                . "metrics.clicks, "
                . "metrics.cost_micros, "
                . "metrics.conversions_from_interactions_rate, "
                . "ad_group_criterion.effective_cpc_bid_micros, "
                . "metrics.conversions, "
                . "metrics.average_cpc, "
                . "segments.date "
                . "FROM managed_placement_view "
                . "WHERE segments.date BETWEEN '$startDate' AND '$this->endDate' "
                . "AND campaign.status = 'ENABLED' "
                . "AND ad_group.status = 'ENABLED' "
                . "AND ad_group_criterion.negative = 'FALSE' "
                . "AND ad_group_criterion.criterion_id > '0' "
                . "AND ad_group_criterion.type IN ('MOBILE_APPLICATION', 'MOBILE_APP_CATEGORY', 'PLACEMENT', 'YOUTUBE_CHANNEL', 'YOUTUBE_VIDEO') "
                . "ORDER BY segments.date ASC";

I can have 30 rows but Adwords API has more then 500 rows.

See screenshot what I was taking about.

Screenshot Placements  Google Ads.png

See there is 45 rows.

Thanks,
Reply all
Reply to author
Forward
0 new messages