Hi,
As we are in the process of migrating away from AdWords API to Google Ads API we found a discrepancy in the data Google Ads API is returning for many clients regarding the CampaingCriterion, specifically the ones with type USER_LIST and the user_list that should be related to it.
For a particular client AdWords is returning 69 CampaignCriterion objects and all of them have the CriterionUserList object present. That'd be id, userListId, userListName, etc.
The same client but in Google Ads API has also 69 CampaignCriterion objects but only 65 have the CriterionUserList object present and the other 4 don't have a criterion at all.
This is a problem because our code is expecting the Google Ads API to have the same info as AdWords API and when doing a comparation between objects we don't know what info we should trust.
We are doing the following query in Google Ads API (I removed some fields to make it shorter and left only what I feel it's important):
campaign_criterion.type,
From campaign_criterion
Where campaign.id = XXXXX AND campaign_criterion.type IN ('USER_LIST') AND campaign_criterion.status IN ('ENABLED')
ORDER BY campaign_criterion.criterion_id
This is good enough to get the info from the user_list table (since we can't really joing from it) and return it alongside the CampaignCriterion. As I mentioned this works for 65 objects, but 4 of them do have a campaign_criterion.user_list.user_list but no userl_list object.
I even queried the user_list table with a simple select for that specific customerId and it returned a lot of userList objects but not the ones I know are missing from the CampaignCriterion call I commented before.
Is there a specific or correct way to do the CampaignCriterion query to get all the info we need? Is there any filter I should add the tell the API that I want all the criterions from a CampaignCriterion no matter what is the status, name and such? I'm not sure what we're missing here.
Thanks in advance,
Leo