【发布时间】: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
我尝试了以下方法:
- 使用此详细信息页面中的 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"
}
}
- 使用标准 Google 答案:
Google 建议创建一个新的转化操作并在此过程中获取 ID。不幸的是,他们的说明与当前的 UI 版本不对应,至少对我来说是这样。我遵循的顺序是:
- 点击“转化操作”页面上的 + 图标
- 选择“导入”作为我想要的转换类型
- 选择“其他数据源或 CRM”,然后选择“跟踪点击转化”
- 点击“创建并继续”
然后我得到屏幕:
Screen following Conversion Action creation
推荐的答案是:
现在已创建转化操作,您可以设置代码以将其添加到您的网站。您有三个选项,此线程中的推荐答案是讨论 Google 跟踪代码管理器选项,这是唯一使用转化 ID 和转化标签的选项。如果您不点击 Google 跟踪代码管理器选项,您将不会看到转化 ID 和转化标签。
不是这样!哪三个选项?第一个“了解更多”链接提到了 Google 跟踪代码管理器,但在收集 GCLID 的背景下,我已经拥有了。官方回答中提到的“三个选项”已经没有了。点击“完成”只会让我回到转化操作列表。
- 使用 REST API
我已经尝试过验证和询问端点:
https://googleads.googleapis.com/v7/customers/9603123598/conversionActions/
希望能提供转化操作列表,但事实并非如此。它只是给出一个 404。
有人知道从 UI 或以编程方式(通过客户端库、REST 或其他方法)获取转化操作 ID 的方法吗?
谢谢!
【问题讨论】:
标签: google-ads-api