【问题标题】:How do I find the Conversion Action ID for use in the Google Ads API?如何找到用于 Google Ads API 的转化操作 ID?
【发布时间】:2021-08-13 18:30:55
【问题描述】:

我正在使用最新的 (v7) Google Ads API 通过 Python 客户端库为 Google Ads 上传离线转化数据。这是我正在使用的标准代码:

import os

from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_env(version='v7')

def process_adwords_conversion(
    conversion_date_time, 
    gclid, 
    conversion_action_id, 
    conversion_value
):

    conversion_date_time = convert_datetime(conversion_date_time)

    customer_id = os.environ['GOOGLE_ADS_LOGIN_CUSTOMER_ID']
    click_conversion = client.get_type("ClickConversion")
    conversion_action_service = client.get_service("ConversionActionService")
    click_conversion.conversion_action = (
        conversion_action_service.conversion_action_path(
            customer_id, conversion_action_id
        )
    )
    click_conversion.gclid = gclid
    click_conversion.conversion_value = float(conversion_value)
    click_conversion.conversion_date_time = conversion_date_time
    click_conversion.currency_code = "USD"

    conversion_upload_service = client.get_service("ConversionUploadService")
    request = client.get_type("UploadClickConversionsRequest")
    request.customer_id = customer_id
    request.conversions = [click_conversion]
    request.partial_failure = True
    conversion_upload_response = (
        conversion_upload_service.upload_click_conversions(
            request=request,
        )
    )
    uploaded_click_conversion = conversion_upload_response.results[0]
    print(conversion_upload_response)
    print(
        f"Uploaded conversion that occurred at "
        f'"{uploaded_click_conversion.conversion_date_time}" from '
        f'Google Click ID "{uploaded_click_conversion.gclid}" '
        f'to "{uploaded_click_conversion.conversion_action}"'
    )

    return False

我相信代码没问题,但我在定位要使用的 conversion_action_id 值时遇到问题。在 Google Ads 用户界面中,有一个屏幕列出了不同的转化操作,但在任何地方都没有任何 ID 的迹象。您可以点击名称并获取更多详细信息,但仍然没有 ID:

The conversion action detail screen in Google Ads UI

我尝试了以下方法:

  1. 使用此详细信息页面中的 ocid、ctId、euid、__u、uscid、__c、subid URL 参数作为 conversion_action_id。这总是会出错:
partial_failure_error {
  code: 3
  message: "This customer does not have an import conversion action that matches the conversion action provided., at conversions[0].conversion_action"
  details {
    type_url: "type.googleapis.com/google.ads.googleads.v7.errors.GoogleAdsFailure"
    value: "\n\305\001\n\003\370\006\t\022dThis customer does not have an import conversion action that matches the conversion action provided.\0320*.customers/9603123598/conversionActions/6095821\"&\022\017\n\013conversions\030\000\022\023\n\021conversion_action"
  }
}
  1. 使用标准 Google 答案:

https://support.google.com/google-ads/thread/1449693/where-can-we-find-google-ads-conversion-ids?hl=en

Google 建议创建一个新的转化操作并在此过程中获取 ID。不幸的是,他们的说明与当前的 UI 版本不对应,至少对我来说是这样。我遵循的顺序是:

  • 点击“转化操作”页面上的 + 图标
  • 选择“导入”作为我想要的转换类型
  • 选择“其他数据源或 CRM”,然后选择“跟踪点击转化”
  • 点击“创建并继续”

然后我得到屏幕:

Screen following Conversion Action creation

推荐的答案是:

现在已创建转化操作,您可以设置代码以将其添加到您的网站。您有三个选项,此线程中的推荐答案是讨论 Google 跟踪代码管理器选项,这是唯一使用转化 ID 和转化标签的选项。如果您不点击 Google 跟踪代码管理器选项,您将不会看到转化 ID 和转化标签。

不是这样!哪三个选项?第一个“了解更多”链接提到了 Google 跟踪代码管理器,但在收集 GCLID 的背景下,我已经拥有了。官方回答中提到的“三个选项”已经没有了。点击“完成”只会让我回到转化操作列表。

  1. 使用 REST API

我已经尝试过验证和询问端点:

https://googleads.googleapis.com/v7/customers/9603123598/conversionActions/

希望能提供转化操作列表,但事实并非如此。它只是给出一个 404。

有人知道从 UI 或以编程方式(通过客户端库、REST 或其他方法)获取转化操作 ID 的方法吗?

谢谢!

【问题讨论】:

    标签: google-ads-api


    【解决方案1】:

    我找到了this post 以及如何获取转化操作 ID 的解决方案:

    (...) 我发现conversionActionId 也可以在Google 中找到 广告面板。当您转到转化操作详细信息时,在 URL 中有 参数“ctId=123456789”,代表转化操作ID。

    顺便说一句,我尝试了something similar,但它仍然无法正常工作,但使用此转换操作 ID,我至少会收到不同的“部分失败”消息。

    【讨论】:

    • 非常感谢您提供的 iink。碰巧的是,我已经尝试过 ctId 参数(参见上面的 1)。无论我使用此参数还是只输入一个随机数,我总是收到相同的消息:partial_failure_error { code: 3 message:“此客户没有与提供的转换操作匹配的导入转换操作。,在转换 [0]。转化动作"}
    • 我显然阅读了您编号为 1 的段落,对此感到抱歉。我现在也在 Google Ads API 官方论坛上寻求帮助,请参阅 groups.google.com/g/adwords-api/c/vg1XZgCF-aw。你的问题同时解决了吗?
    • 感谢您的帮助。不,我还没有找到解决问题的方法。在 API 的多个版本和糟糕的文档之间,这个简单的项目已经成为一个令人头疼的问题。
    • 还没有修复,但我发现了更多。首先,确实会出现 Google Tag Manager 选项,但前提是您在第一步中选择了网站转化。其次,您之前链接的帖子说ctld参数是转换ID肯定是错误的。我创建了一个网站转化操作并从跟踪代码管理器中获取了 ID。它根本不对应 ctld 值。所有这一切都没有帮助 - 我仍然收到相同的部分错误,说“此客户没有与提供的转化操作相匹配的导入转化操作。”
    【解决方案2】:

    如果您使用的是 Python,则可以通过 next sn-p 列出您的转化:

    ads: GoogleAdsServiceClient = client.get_service('GoogleAdsService')
    pages = ads.search(query="SELECT conversion_action.id, conversion_action.name FROM conversion_action", customer_id='YOUR_MCC_ID')
    for page in pages:
        print(page.conversion_action)
    

    您也可以在 UI 中打开转化操作并找到 &ctId=,即转化操作 ID。

    【讨论】:

    • 当查询中没有日期范围时,如何回到过去?如何延长获取数据的时间?
    • 您好 Elad,我认为该查询仅代表您在转换设置中拥有的内容。这不是转换本身,而只是您可以在 UI 上设置的配置。因此,当您设置新的转换并希望以编程方式获取 ID 时,此查询将起作用。对于已删除的转化,遗憾的是我不确定它是否会起作用
    • 谢谢,是否有任何 API 可以获取与报告中相同的数据?见:i.imgur.com/DBFo7so.png
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-27
    • 1970-01-01
    • 2022-12-18
    • 1970-01-01
    • 1970-01-01
    • 2022-11-21
    • 2023-02-13
    相关资源
    最近更新 更多