Hi,
We've been doing some more experimenting with this and what we do now is first to run a query like this:
SELECT
campaign_criterion.criterion_id,
segments.date,
metrics.clicks,
metrics.cost_micros,
metrics.impressions
FROM
campaign_audience_view
WHERE
segments.date BETWEEN '2019-01-01' AND '2020-08-01'
After that we run a query like this:
SELECT
topic_constant.path,
campaign_criterion.criterion_id
FROM
campaign_criterion
We will then use to response from the second query to create a mapping table between campaign_criterion.criterion_id and audience where audience is either
user_list.name or
user_interest.name or topic_constant.path depending on which of those columns have a value that maps to a criterion_id. We can then merge our two results and we get what we want. Sort of..
The problem is still that this results is not 1 to 1 regarding audiences compared to The Adwords API or the Google Ads UI. We've seen cases where:
- We get the audience in the Google Ads UI and Adwords API but not Google Ads API.
- We get the audience in the Google Ads API and Adwords API but not the Google Ads UI.
- We can only get the audience in the Google Ads UI.
We're out of ideas. Please advise on how to continue with this. The UserListService is not really an alternative since it will only take one resource_name at a time and not a list of ids like in Adwords.
BR
David @ Funnel