我正在使用最新 (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:
我尝试过以下方法:
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)
Google 建议创建一个新的转化操作并在此过程中获取 ID。不幸的是,他们的说明与当前的 UI 版本不符,至少对我来说是这样。我遵循的顺序是:
然后我得到屏幕:
推荐答案说:
转化操作现已创建,您可以设置代码以将其添加到您的网站。您有三个选项,本线程中推荐的答案是讨论 Google 跟踪代码管理器选项,这是使用转化 ID 和转化标签的唯一选项。如果您不点击 Google 跟踪代码管理器选项,您将不会看到转化 ID 和转化标签。
不是这样的!哪三个选项?第一个“了解更多”链接提到了 Google 跟踪代码管理器,但是是在收集我已经拥有的 GCLID 的情况下。官方答复中提到的“三个选项”已经没有了。单击“完成”只需返回“转化操作”列表即可。
我尝试过验证和询问端点:
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。
| 归档时间: |
|
| 查看次数: |
8192 次 |
| 最近记录: |