如何找到用于 Google Ads API 的转化操作 ID?

Sim*_*ell 7 google-ads-api

我正在使用最新 (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
Run Code Online (Sandbox Code Playgroud)

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

Google Ads 用户界面中的转化操作详细信息屏幕

我尝试过以下方法:

  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"
  }
}
Run Code Online (Sandbox Code Playgroud)
  1. 使用标准的谷歌答案:

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

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

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

然后我得到屏幕:

创建转化操作后的屏幕

推荐答案说:

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

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

  1. 使用 REST API

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

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

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

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

谢谢!

小智 14

如果您使用的是 Python,则可以通过下一个代码片段列出您的转换:

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)
Run Code Online (Sandbox Code Playgroud)

您还可以在用户界面中打开转化操作并找到&ctId=,即转化操作 ID。