使用Google Ads API将受众群体列表添加到广告系列中

时间:2019-08-06 15:11:57

标签: python google-ads-api

我正在尝试将受众群体列表(我已经使用python API在Google广告上创建的)附加到同一Google Ads帐户上的现有广告系列。我既有广告系列的ID,又有受众列表的ID,但是在文档中没有找到关于如何将受众群体列表附加到广告系列的清晰示例。

任何人都可以提供示例,说明如何将要发送到Google广告的json对象构造为请求向广告系列添加受众群体列表吗?

我尝试遵循documentation中的参考指南,以构成将JSON对象添加到特定广告系列所需的请求json格式对象。

并且也搜索了类似的问题,在Java中找到了这个solution,但是我没有成功在python中找到一个类似的问题。

from googleads import adwords
import yaml

data = {} # should contain credentials for authentication

auth_data = yaml.dump(data)
client = adwords.AdWordsClient.LoadFromString(auth_data)

campaign_criterion_list_service = client.GetService(
    'CampaignCriterionService', version='v201809')

 operations = [ 
    { 
        'operand': { 
            'campaignId': 1982314222, # some campaign in my account

            'criterion': { 
                'type': 'USER_LIST',
                'id': 823895895,# an existing audience list on my  google ads account
            }, 
            'campaignCriterionStatus': 'ACTIVE' 
        }, 
        'operator': 'ADD', 
    } 
 ]
campaign_criterion_list_service.mutate(operations)

但是无法提供错误

GoogleAdsServerFault: [CampaignCriterionError.CONCRETE_TYPE_REQUIRED @ operations[0].operand.criterion]

我希望将受众群体列表添加到广告系列中并返回成功代码。

1 个答案:

答案 0 :(得分:0)

我想我明白了。只需调整预期字段的命名

campaign_criterion_list_service = client.GetService(
    'CampaignCriterionService', version='v201809')

 operations = [ 
    { 
        'operand': { 
            'campaignId': 1764074348, 

            'criterion': { 
                'xsi_type': 'CriterionUserList',
                'type': 'USER_LIST',
                'userListId': 823895895,
                'userListEligibleForDisplay': True,
                'userListEligibleForSearch': True
            }, 
            'campaignCriterionStatus': 'ACTIVE' 
        }, 
        'operator': 'ADD', 
    } 
 ]