首页 文章

Adwords API在广告系列一级排除Content_label

提问于
浏览
0

我现在已经研究了几个小时,仍然无法找到解决方案 .

我打算在广告系列一级排除一些content_labels . 首先,我遵循API示例,但这些是针对帐户级设置的“CustomerNegativeCriteria”(旁注,我在AdWords界面上找不到这些全局设置) .

然后我阅读更多内容并尝试使用CampaignCriterion排除它们

所以我将以这种方式创建我的ContentLabel对象:

$criterion = new ContentLabel();
$criterion->setContentLabelType($sLabelType);
$criterion->setType(CriterionType::CONTENT_LABEL);

然后,我将该修饰符添加到CampaignCriterion对象:

foreach ($aModifiers as $modifier) {
    $campaignCriterion = new CampaignCriterion($sCampaignId, $isNegative, $modifier, $bidModifier);
    $operation = new CampaignCriterionOperation();
    $operation->setOperand($campaignCriterion);
    $operation->setOperator($operator);
    $operations[] = $operation;
}

然后我将这些操作传递给CampaignCriterionService

$oCampaignCriterionService = $this->getCampaignCriterionService();
return $oCampaignCriterionService->mutate($operations);

这一切都产生了这个错误,但我找不到如何解决这个问题 . 因为在广告系列中创建的这些值仍为绿色(有效)

Message: [
    CriterionError.CANNOT_TARGET_CRITERION @ operations[0].operand.criterion.contentLabelType; trigger:'DP', 
    CriterionError.CANNOT_TARGET_CRITERION @ operations[1].operand.criterion.contentLabelType; trigger:'ADULTISH', 
    CriterionError.CANNOT_TARGET_CRITERION @ operations[2].operand.criterion.contentLabelType; trigger:'JACKASS', 
    CriterionError.CANNOT_TARGET_CRITERION @ operations[3].operand.criterion.contentLabelType; trigger:'PROFANITY', 
    CriterionError.CANNOT_TARGET_CRITERION @ operations[4].operand.criterion.contentLabelType; trigger:'TRAGEDY', 
    CriterionError.CANNOT_TARGET_CRITERION @ operations[5].operand.criterion.contentLabelType; trigger:'VIDEO_RATING_DV_MA'
]

我从这里跟随树结构,但无济于事:https://developers.google.com/adwords/api/docs/reference/v201710/CampaignCriterionService.ContentLabel?hl=th

知道我可能做错了什么吗?

1 回答

  • 0

    这里的问题是我正在创建 CampaignCriterion 对象并且这是问题,虽然没有在任何地方明确说明,并且不直观,还有另一种类型的对象叫做 NegativeCampaignCriterion ,这是排除 ContentLabelPlacement 的正确对象

    foreach ($aModifiers as $modifier) {
        if ($isNegative) {
            $campaignCriterion = new NegativeCampaignCriterion($sCampaignId, $isNegative, $modifier, $bidModifier);
        } else {
            $campaignCriterion = new CampaignCriterion($sCampaignId, $isNegative, $modifier, $bidModifier);
        }
        $operation = new CampaignCriterionOperation();
        $operation->setOperand($campaignCriterion);
        $operation->setOperator($operator);
        $operations[] = $operation;
    }
    

相关问题