Hướng dẫn này cung cấp danh sách các loại hành động chuyển đổi mà bạn có thể sử dụng tạo bằng cách sử dụng API Google Ads, thông tin về cách các mối liên kết này liên kết với web và ví dụ về mã chi tiết để minh hoạ cách tạo hành động chuyển đổi mới.
Để đo lường lượt chuyển đổi, hãy thiết lập
ConversionAction
cho
type
trong số
mà bạn muốn theo dõi. Ví dụ: mua hàng trực tuyến và mua điện thoại
cuộc gọi yêu cầu hành động chuyển đổi khác nhau.
Cách tốt nhất để thiết lập hành động chuyển đổi mới trong API là sử dụng
Thêm ví dụ về mã Hành động chuyển đổi ở bên dưới. Tên người dùng mẫu
tất cả tác vụ xác thực ở chế độ nền và hướng dẫn bạn tạo
ConversionAction
.
Hầu hết các hành động chuyển đổi cũng yêu cầu bạn thực hiện thêm một số bước để theo dõi chúng. Ví dụ: để theo dõi lượt chuyển đổi trên trang web, bạn phải thêm mã đoạn mã có tên là tag vào trang chuyển đổi trên trang web của bạn. Đối với hành động chuyển đổi khác theo yêu cầu của bạn, hãy xem Bài viết trên Trung tâm trợ giúp.
Chuyển đổi trang web
Lượt chuyển đổi trên trang web cho phép bạn theo dõi các hành động trên trang web, chẳng hạn như bán hàng trực tuyến, lượt nhấp vào đường liên kết, lượt xem trang và lượt đăng ký.
Để theo dõi lượt chuyển đổi trên trang web của mình, bạn phải tạo một
ConversionAction
với
ConversionActionType
đặt thành WEBPAGE
và thêm một đoạn mã được gọi là thẻ vào lượt chuyển đổi
trên trang web của bạn.
ConversionAction
bao gồm nhiều
của các loại chuyển đổi trang web, được phân biệt trong API theo
type
trường trong mỗi
TagSnippet
được liệt kê trong
Trường tag_snippets của một
ConversionAction
TagSnippet
cung cấp mã theo dõi phải
được thêm vào trang web để theo dõi hành động chuyển đổi của bạn.
Lượt chuyển đổi Trang web và Lượt nhấp vào số điện thoại yêu cầu
event_snippet
!
Thông tin này nên được đặt trên các trang web chỉ ra hành động chuyển đổi, chẳng hạn như
trang xác nhận thanh toán hoặc trang gửi biểu mẫu khách hàng tiềm năng và
global_site_tag
,
phải được cài đặt trên mỗi trang của trang web. Bạn có thể truy xuất cả hai
các thuộc tính này với
ConversionActionService
. Trả phòng
Trung tâm trợ giúp của chúng tôi để biết thêm
thông tin về cách gắn thẻ các trang của bạn.
Bảng sau đây trình bày các tham số API tương đương để sử dụng cho mỗi Nguồn trong giao diện web của Google Ads:
Loại mã theo dõi | Nguồn Google Ads |
---|---|
WEBPAGE |
Trang web (Google Analytics (GA4)) |
WEBPAGE_ONCLICK |
Trang web (Google Analytics (GA4)) |
CLICK_TO_CALL |
Nhấp chuột vào số điện thoại |
--- |
Trang web (Google Analytics (UA)) |
Chuyển đổi ứng dụng
Lượt chuyển đổi ứng dụng cho phép bạn theo dõi lượt cài đặt ứng dụng dành cho thiết bị di động hoặc lượt mua hàng trong ứng dụng từ Cửa hàng Google Play.
Bảng sau đây trình bày các giá trị tương đương
ConversionActionType
Các tham số API cần sử dụng cho từng Nguồn trong giao diện web Google Ads:
Loại hành động chuyển đổi | Nguồn Google Ads |
---|---|
GOOGLE_PLAY_DOWNLOAD |
Google Play > Số lượt cài đặt |
GOOGLE_PLAY_IN_APP_PURCHASE |
Google Play > Giao dịch mua hàng trong ứng dụng |
Nếu bạn muốn theo dõi các hành động khác trong ứng dụng dành cho thiết bị di động bằng Google Analytics 4 thuộc tính hoặc số liệu phân tích ứng dụng bên thứ ba. Xem bài viết Các loại hành động chuyển đổi khác.
Chuyển đổi cuộc gọi điện thoại
Theo dõi lượt chuyển đổi cuộc gọi điện thoại cho phép bạn theo dõi cuộc gọi từ quảng cáo, cuộc gọi đến một số trên trang web và nhấp chuột vào số điện thoại trên trang web dành cho thiết bị di động.
Bảng sau đây trình bày các giá trị tương đương
ConversionActionType
Các tham số API cần sử dụng cho từng Nguồn trong giao diện web Google Ads:
Loại hành động chuyển đổi | Nguồn Google Ads |
---|---|
AD_CALL |
Cuộc gọi từ quảng cáo sử dụng phần mở rộng về cuộc gọi hoặc quảng cáo chỉ tạo cuộc gọi điện thoại |
WEBSITE_CALL |
Cuộc gọi đến số điện thoại trên trang web của bạn |
CLICK_TO_CALL |
Nhấp vào số điện thoại trên trang web dành cho thiết bị di động của bạn |
Loại CLICK_TO_CALL
khác với loại AD_CALL
ở chỗ nó có
không theo dõi các cuộc gọi điện thoại thực tế. Thay vào đó, CLICK_TO_CALL
chỉ theo dõi lượt nhấp vào
số điện thoại trên thiết bị di động. Điều này rất hữu ích khi bạn không thể sử dụng
Số chuyển tiếp của Google để theo dõi cuộc gọi điện thoại.
AD_CALL
Một
AD_CALL
hành động chuyển đổi xuất hiện dưới dạng Cuộc gọi từ
quảng cáo trong Google Ads
giao diện web. Sau khi bạn tạo hành động chuyển đổi AD_CALL
, hãy chỉ định hành động chuyển đổi đó
tên tài nguyên trong trường call_conversion_action
khi tạo
CallAsset
. Gọi điện
cho phép bạn hiển thị
số điện thoại ngay trong quảng cáo của mình.
Cuộc gọi sẽ được báo cáo là lượt chuyển đổi nếu kéo dài hơn một khoảng thời gian đã chỉ định. Mặc định là 60 giây.
WEBSITE_CALL
Đáp
WEBSITE_CALL
hành động chuyển đổi xuất hiện dưới dạng Cuộc gọi từ
lượt chuyển đổi trên trang web trong nhóm
Giao diện web của Google Ads.
Bỏ thích
AD_CALL
!
trình theo dõi này yêu cầu event_snippet
và global_site_tag
để thêm vào
trang web của bạn để truy xuất số chuyển tiếp động của Google nhằm theo dõi cuộc gọi
vào các số điện thoại trên trang web. Ngoài ra, bạn phải thiết lập cuộc gọi
và liên kết tài sản đó ở
khách hàng, chiến dịch hoặc nhóm quảng cáo.
Nhập lượt chuyển đổi ngoại tuyến
Bảng sau đây trình bày các giá trị tương đương
ConversionActionType
Các tham số API cần sử dụng cho từng Nguồn trong giao diện web của Google Ads
và một đường liên kết đến tài liệu cho từng loại hành động chuyển đổi cụ thể:
Loại hành động chuyển đổi | Nguồn Google Ads | Hướng dẫn thiết lập API |
---|---|---|
UPLOAD_CLICKS |
Theo dõi lượt chuyển đổi từ lượt nhấp và lượt chuyển đổi nâng cao cho khách hàng tiềm năng | Hướng dẫn về lượt nhấp để tải lên
Nâng cao Hướng dẫn về lượt chuyển đổi cho khách hàng tiềm năng |
UPLOAD_CALLS |
Theo dõi lượt chuyển đổi từ cuộc gọi | Hướng dẫn thiết lập API |
STORE_SALES |
Theo dõi lượt chuyển đổi lượt bán hàng tại cửa hàng thực tế | Thiết lập API Hướng dẫn |
Lượt chuyển đổi nâng cao cho web
Lượt chuyển đổi nâng cao cho
web cho phép bạn gửi
dữ liệu lượt chuyển đổi của bên thứ nhất cho WEBPAGE
hành động chuyển đổi trong vòng 24 giờ kể từ khi
một sự kiện chuyển đổi thay vì cùng một lúc. Điều này giúp bạn có thể xác định
dữ liệu của bên thứ nhất từ nhiều nguồn, chẳng hạn như cơ sở dữ liệu khách hàng hoặc hệ thống quản lý quan hệ khách hàng (CRM)
hệ thống.
Các loại hành động chuyển đổi khác
API Google Ads cung cấp thêm nhiều loại hành động chuyển đổi trong báo cáo, nhưng có thể giới hạn hoặc cấm việc tạo hoặc sửa đổi những hành động đó.
Lượt chuyển đổi SKAdNetwork
Nếu bạn chạy Chiến dịch quảng cáo ứng dụng iOS
và đã triển khai
SKAdNetwork, bạn có thể truy cập
Dữ liệu SKAdNetwork được cung cấp cho Google ở cấp Customer
và Campaign
bằng
các tài nguyên sau:
Trường báo cáo | Mô tả |
---|---|
metrics.sk_ad_network_installs |
Số lượt cài đặt mà Apple báo cáo. Chỉ số này chỉ có thể được phân đoạn
bằng bất kỳ tổ hợp nào của segments.sk_ad_network_conversion_value và
phân đoạn liên quan đến ngày tháng.
|
metrics.sk_ad_network_total_conversions |
Tổng số chuyển đổi, bao gồm lượt cài đặt và các loại chuyển đổi khác lượt chuyển đổi do Apple báo cáo. Bạn chỉ có thể phân đoạn chỉ số này theo Phân khúc liên quan đến SKAdNetwork và phân khúc liên quan đến ngày. |
segments.sk_ad_network_ad_event_type |
Loại sự kiện đã xảy ra cho một lượt chuyển đổi cụ thể. |
segments.sk_ad_network_attribution_credit |
Cách phân bổ được ghi nhận cho một lượt chuyển đổi cụ thể. |
segments.sk_ad_network_fine_conversion_value |
Giá trị của một lượt chuyển đổi do Apple báo cáo. Không thể áp dụng phân đoạn này
với bất kỳ chỉ số nào khác ngoài Giá trị của |
segments.sk_ad_network_coarse_conversion_value |
Giá trị thô cho một lượt chuyển đổi riêng lẻ. |
segments.sk_ad_network_postback_sequence_index |
Vị trí của hệ thống đăng lại, theo trình tự, đối với một lượt chuyển đổi cụ thể. |
segments.sk_ad_network_source_app.sk_ad_network_source_app_id |
Mã ứng dụng mà quảng cáo thúc đẩy lượt cài đặt Mạng quảng cáo Bộ công cụ iOS Store là hiển thị. |
segments.sk_ad_network_source_domain |
Trang web nơi quảng cáo thúc đẩy lượt cài đặt Mạng quảng cáo Bộ công cụ iOS Store là hiển thị. Giá trị rỗng có nghĩa là không thể áp dụng phân đoạn này, ví dụ: chiến dịch không dành cho iOS — hoặc không xuất hiện trong bất kỳ hệ thống đăng lại nào do Apple gửi. |
segments.sk_ad_network_source_type |
Loại nguồn mà quảng cáo thúc đẩy lượt cài đặt Mạng quảng cáo Bộ công cụ iOS Store đã được hiển thị. Giá trị rỗng có nghĩa là không thể áp dụng phân đoạn này, ví dụ: chiến dịch không dành cho iOS — hoặc không có miền nguồn hay ứng dụng nguồn mọi hệ thống đăng lại do Apple gửi. |
segments.sk_ad_network_user_type |
Kiểu người dùng đã tạo ra một lượt chuyển đổi cụ thể. |
segments.sk_ad_network_redistributed_fine_conversion_value |
Các giá trị chuyển đổi trong phân đoạn này bao gồm các giá trị rỗng được phân bổ lại cho giá trị lượt chuyển đổi. Phân đoạn này đại diện cho tổng của giá trị chuyển đổi chính xác được ghi nhận do Apple trả về và các giá trị rỗng được mô hình hoá từ Google. |
segments.sk_ad_network_version |
Phiên bản API mạng quảng cáo của Bộ công cụ iOS Store đã được sử dụng. |
Bạn cũng có thể lưu mối liên kết giá trị lượt chuyển đổi SKAdNetwork cho các đường liên kết cụ thể
khách hàng có ứng dụng iOS thông qua CustomerSkAdNetworkConversionValueSchema
.
Mã Python mẫu
#!/usr/bin/env python # Copyright 2019 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import argparse import sys from google.ads.googleads.client import GoogleAdsClient from google.ads.googleads.errors import GoogleAdsException def main(client, customer_id): """Adds a keyword plan, campaign, ad group, etc. to the customer account. Also handles errors from the API and prints them. Args: client: An initialized instance of GoogleAdsClient customer_id: A str of the customer_id to use in requests. """ res = update_skan_cv_schema( client, customer_id, "my_app_id", "account_link_id" ) print(res) def update_skan_cv_schema(client, customer_id, app_id, account_link_id): skan_service = client.get_service( "CustomerSkAdNetworkConversionValueSchemaService" ) req = client.get_type( "MutateCustomerSkAdNetworkConversionValueSchemaRequest" ) operation = client.get_type( "CustomerSkAdNetworkConversionValueSchemaOperation" ) schema_instance = client.get_type( "CustomerSkAdNetworkConversionValueSchema" ) new_schema = operation.update new_schema.resource_name = ( skan_service.customer_sk_ad_network_conversion_value_schema_path( "customer_id", "account_link_id" ) ) new_schema.schema.app_id = app_id new_schema.schema.measurement_window_hours = 48 skan_cv_mapping = ( schema_instance.SkAdNetworkConversionValueSchema.FineGrainedConversionValueMappings() ) skan_cv_mapping.fine_grained_conversion_value = 0 # 0 - 63 skan_cv_mapping.conversion_value_mapping.min_time_post_install_hours = 0 skan_cv_mapping.conversion_value_mapping.max_time_post_install_hours = 48 skan_cv_event = schema_instance.SkAdNetworkConversionValueSchema.Event() skan_cv_event.mapped_event_name = "TEST" skan_cv_event.event_revenue_value = 10 skan_cv_mapping.conversion_value_mapping.mapped_events.append(skan_cv_event) new_schema.schema.fine_grained_conversion_value_mappings.append( skan_cv_mapping ) req.operation = operation req.customer_id = customer_id res = skan_service.mutate_customer_sk_ad_network_conversion_value_schema( req ) return res if __name__ == "__main__": # GoogleAdsClient will read the google-ads.yaml configuration file in the # home directory if none is specified. googleads_client = GoogleAdsClient.load_from_storage( version="v17" ) parser = argparse.ArgumentParser( description="Creates a keyword plan for specified customer." ) # The following argument(s) should be provided to run the example. parser.add_argument( "-c", "--customer_id", type=str, required=True, help="The Google Ads customer ID.", ) args = parser.parse_args() try: main(googleads_client, args.customer_id) except GoogleAdsException as ex: print( f'Request with ID "{ex.request_id}" failed with status ' f'"{ex.error.code().name}" and includes the following errors:' ) for error in ex.failure.errors: print(f'\tError with message "{error.message}".') if error.location: for field_path_element in error.location.field_path_elements: print(f"\t\tOn field: {field_path_element.field_name}") sys.exit(1)
Google Analytics
Lượt chuyển đổi từ một tài sản Google Analytics được liên kết có một trong các lượt chuyển đổi sau
Giá trị type
:
Lượt chuyển đổi tài sản GA4:
GOOGLE_ANALYTICS_4_CUSTOM
GOOGLE_ANALYTICS_4_PURCHASE
Bạn cũng có thể truy xuất mã tài sản GA4, tên tài sản và tên sự kiện từ thời gian
google_analytics_4_settings
.Lượt chuyển đổi đối với tài sản Universal Analytics:
UNIVERSAL_ANALYTICS_GOAL
UNIVERSAL_ANALYTICS_TRANSACTION
Bạn có thể thực hiện các thay đổi sau đối với lượt chuyển đổi trên tài sản GA4:
- Nhập lượt chuyển đổi từ tài sản GA4 vào tài khoản Google Ads bằng cách
sửa đổi trường
status
từHIDDEN
thànhENABLED
. - Sửa đổi các trường
primary_for_goal
vàcategory
để cho biết cách thực hiện ảnh hưởng đến tính năng đặt giá thầu và báo cáo của Google Ads. - Cập nhật
name
hoặcvalue_settings
. - Hãy xoá lượt chuyển đổi đó khỏi tài khoản Google Ads của bạn bằng thao tác
remove
.
Mọi hành động sửa đổi các thuộc tính khác của một lượt chuyển đổi GA4 đã nhập hoặc bất kỳ thuộc tính nào
của một lượt chuyển đổi Universal Analytics đã nhập, dẫn đến một
MUTATE_NOT_ALLOWED
lỗi. Bạn chỉ có thể thực hiện những thay đổi đó bằng cách sử dụng giao diện người dùng Google Ads.
Firebase và dịch vụ phân tích ứng dụng của bên thứ ba
Cách nhập
phân tích ứng dụng của bên thứ ba
hoặc lượt chuyển đổi Firebase,
thay đổi status
của
ConversionAction
từ HIDDEN
đến ENABLED
bằng phương thức mutate
của
ConversionActionService
. Đang cập nhật
app_id
không được hỗ trợ cho các tính năng này
hành động chuyển đổi.
FIREBASE_ANDROID_FIRST_OPEN
FIREBASE_ANDROID_IN_APP_PURCHASE
FIREBASE_ANDROID_CUSTOM
FIREBASE_IOS_FIRST_OPEN
FIREBASE_IOS_IN_APP_PURCHASE
FIREBASE_IOS_CUSTOM
THIRD_PARTY_APP_ANALYTICS_ANDROID_FIRST_OPEN
THIRD_PARTY_APP_ANALYTICS_ANDROID_IN_APP_PURCHASE
THIRD_PARTY_APP_ANALYTICS_ANDROID_CUSTOM
THIRD_PARTY_APP_ANALYTICS_IOS_FIRST_OPEN
THIRD_PARTY_APP_ANALYTICS_IOS_IN_APP_PURCHASE
THIRD_PARTY_APP_ANALYTICS_IOS_CUSTOM
Doanh số tại cửa hàng
Mặc dù bạn không thể tạo STORE_SALES
hoặc STORE_SALES_DIRECT_UPLOAD
hành động chuyển đổi bằng API Google Ads, thì API này hỗ trợ tải cửa hàng lên
giao dịch bán hàng.
STORE_SALES
STORE_SALES_DIRECT_UPLOAD
Khác
Các loại hành động chuyển đổi sau đây ở chế độ chỉ có thể đọc trong API Google Ads và được cung cấp cho mục đích báo cáo.
ANDROID_APP_PRE_REGISTRATION
ANDROID_INSTALLS_ALL_OTHER_APPS
FLOODLIGHT_ACTION
FLOODLIGHT_TRANSACTION
GOOGLE_HOSTED
LEAD_FORM_SUBMIT
SALESFORCE
SEARCH_ADS_360
SMART_CAMPAIGN_AD_CLICKS_TO_CALL
SMART_CAMPAIGN_MAP_CLICKS_TO_CALL
SMART_CAMPAIGN_MAP_DIRECTIONS
SMART_CAMPAIGN_TRACKED_CALLS
STORE_VISITS
WEBPAGE_CODELESS
Không xác định
Nếu tài khoản Google Ads của bạn có các loại hành động chuyển đổi khác, bạn có thể thấy
rằng các truy vấn và báo cáo sẽ trả về hành động chuyển đổi
ConversionAction.type
là UNKNOWN
.
API không hỗ trợ quản lý những hành động chuyển đổi này, nhưng sẽ trả về những hành động chuyển đổi đó trong
để cung cấp kết quả đầy đủ cho các chỉ số chuyển đổi chính như
metrics.conversions
và metrics.conversions_value
.
Ví dụ về mã
Ví dụ về mã sau đây sẽ hướng dẫn bạn thực hiện quy trình tạo một
hành động chuyển đổi. Cụ thể, tính năng này tạo một hành động chuyển đổi có
Đã đặt type
thành
UPLOAD_CLICKS
.
Quy trình này tương tự như quy trình tạo hành động chuyển đổi mới trên Google Ads bằng giao diện người dùng
Nhập > Nhập thủ công bằng API hoặc tải lên > Theo dõi lượt chuyển đổi từ
số lượt nhấp. Thao tác này cũng thiết lập category
vào DEFAULT
.
Các chế độ cài đặt mặc định sau đây sẽ được áp dụng:
API Google Ads thiết lập Trường
primary_for_goal
tự động, nhưng bạn có thể đặt trường này một cách rõ ràng để kiểm soát cách hành động chuyển đổi tác động đến báo cáo và việc đặt giá thầu trong tài khoản của bạn khi được kết hợp với mục tiêu lượt chuyển đổi của bạn.API Google Ads thiết lập
counting_type
tự động vàoMANY_PER_CLICK
. Xem bài viết Giới thiệu về các cách tính lượt chuyển đổi để biết thêm thông tin chi tiết.API Google Ads đặt mô hình phân bổ thành Dữ liệu bằng cách đặt
attribution_model_settings
sang Giá trịGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN
củaAttributionModel
Java
private void runExample(GoogleAdsClient googleAdsClient, long customerId) { // Creates a ConversionAction. ConversionAction conversionAction = ConversionAction.newBuilder() // Note that conversion action names must be unique. If a conversion action already // exists with the specified conversion_action_name the create operation will fail with // a ConversionActionError.DUPLICATE_NAME error. .setName("Earth to Mars Cruises Conversion #" + getPrintableDateTime()) .setCategory(ConversionActionCategory.DEFAULT) .setType(ConversionActionType.WEBPAGE) .setStatus(ConversionActionStatus.ENABLED) .setViewThroughLookbackWindowDays(15L) .setValueSettings( ValueSettings.newBuilder() .setDefaultValue(23.41) .setAlwaysUseDefaultValue(true) .build()) .build(); // Creates the operation. ConversionActionOperation operation = ConversionActionOperation.newBuilder().setCreate(conversionAction).build(); try (ConversionActionServiceClient conversionActionServiceClient = googleAdsClient.getLatestVersion().createConversionActionServiceClient()) { MutateConversionActionsResponse response = conversionActionServiceClient.mutateConversionActions( Long.toString(customerId), Collections.singletonList(operation)); System.out.printf("Added %d conversion actions:%n", response.getResultsCount()); for (MutateConversionActionResult result : response.getResultsList()) { System.out.printf( "New conversion action added with resource name: '%s'%n", result.getResourceName()); } } }
C#
public void Run(GoogleAdsClient client, long customerId) { // Get the ConversionActionService. ConversionActionServiceClient conversionActionService = client.GetService(Services.V17.ConversionActionService); // Note that conversion action names must be unique. // If a conversion action already exists with the specified name the create operation // will fail with a ConversionAction.DUPLICATE_NAME error. string ConversionActionName = "Earth to Mars Cruises Conversion #" + ExampleUtilities.GetRandomString(); // Add a conversion action. ConversionAction conversionAction = new ConversionAction() { Name = ConversionActionName, Category = ConversionActionCategory.Default, Type = ConversionActionType.Webpage, Status = ConversionActionStatus.Enabled, ViewThroughLookbackWindowDays = 15, ValueSettings = new ConversionAction.Types.ValueSettings() { DefaultValue = 23.41, AlwaysUseDefaultValue = true } }; // Create the operation. ConversionActionOperation operation = new ConversionActionOperation() { Create = conversionAction }; try { // Create the conversion action. MutateConversionActionsResponse response = conversionActionService.MutateConversionActions(customerId.ToString(), new ConversionActionOperation[] { operation }); // Display the results. foreach (MutateConversionActionResult newConversionAction in response.Results) { Console.WriteLine($"New conversion action with resource name = " + $"'{newConversionAction.ResourceName}' was added."); } } catch (GoogleAdsException e) { Console.WriteLine("Failure:"); Console.WriteLine($"Message: {e.Message}"); Console.WriteLine($"Failure: {e.Failure}"); Console.WriteLine($"Request ID: {e.RequestId}"); throw; } }
PHP
public static function runExample(GoogleAdsClient $googleAdsClient, int $customerId) { // Creates a conversion action. $conversionAction = new ConversionAction([ // Note that conversion action names must be unique. // If a conversion action already exists with the specified conversion_action_name // the create operation will fail with a ConversionActionError.DUPLICATE_NAME error. 'name' => 'Earth to Mars Cruises Conversion #' . Helper::getPrintableDatetime(), 'category' => ConversionActionCategory::PBDEFAULT, 'type' => ConversionActionType::WEBPAGE, 'status' => ConversionActionStatus::ENABLED, 'view_through_lookback_window_days' => 15, 'value_settings' => new ValueSettings([ 'default_value' => 23.41, 'always_use_default_value' => true ]) ]); // Creates a conversion action operation. $conversionActionOperation = new ConversionActionOperation(); $conversionActionOperation->setCreate($conversionAction); // Issues a mutate request to add the conversion action. $conversionActionServiceClient = $googleAdsClient->getConversionActionServiceClient(); $response = $conversionActionServiceClient->mutateConversionActions( MutateConversionActionsRequest::build($customerId, [$conversionActionOperation]) ); printf("Added %d conversion actions:%s", $response->getResults()->count(), PHP_EOL); foreach ($response->getResults() as $addedConversionAction) { /** @var ConversionAction $addedConversionAction */ printf( "New conversion action added with resource name: '%s'%s", $addedConversionAction->getResourceName(), PHP_EOL ); } }
Python
def main(client, customer_id): conversion_action_service = client.get_service("ConversionActionService") # Create the operation. conversion_action_operation = client.get_type("ConversionActionOperation") # Create conversion action. conversion_action = conversion_action_operation.create # Note that conversion action names must be unique. If a conversion action # already exists with the specified conversion_action_name, the create # operation will fail with a ConversionActionError.DUPLICATE_NAME error. conversion_action.name = f"Earth to Mars Cruises Conversion {uuid.uuid4()}" conversion_action.type_ = ( client.enums.ConversionActionTypeEnum.UPLOAD_CLICKS ) conversion_action.category = ( client.enums.ConversionActionCategoryEnum.DEFAULT ) conversion_action.status = client.enums.ConversionActionStatusEnum.ENABLED conversion_action.view_through_lookback_window_days = 15 # Create a value settings object. value_settings = conversion_action.value_settings value_settings.default_value = 15.0 value_settings.always_use_default_value = True # Add the conversion action. conversion_action_response = ( conversion_action_service.mutate_conversion_actions( customer_id=customer_id, operations=[conversion_action_operation], ) ) print( "Created conversion action " f'"{conversion_action_response.results[0].resource_name}".' )
Ruby
def add_conversion_action(customer_id) # GoogleAdsClient will read a config file from # ENV['HOME']/google_ads_config.rb when called without parameters client = Google::Ads::GoogleAds::GoogleAdsClient.new # Add a conversion action. conversion_action = client.resource.conversion_action do |ca| ca.name = "Earth to Mars Cruises Conversion #{(Time.new.to_f * 100).to_i}" ca.type = :UPLOAD_CLICKS ca.category = :DEFAULT ca.status = :ENABLED ca.view_through_lookback_window_days = 15 # Create a value settings object. ca.value_settings = client.resource.value_settings do |vs| vs.default_value = 15 vs.always_use_default_value = true end end # Create the operation. conversion_action_operation = client.operation.create_resource.conversion_action(conversion_action) # Add the ad group ad. response = client.service.conversion_action.mutate_conversion_actions( customer_id: customer_id, operations: [conversion_action_operation], ) puts "New conversion action with resource name = #{response.results.first.resource_name}." end
Perl
sub add_conversion_action { my ($api_client, $customer_id) = @_; # Note that conversion action names must be unique. # If a conversion action already exists with the specified conversion_action_name, # the create operation fails with error ConversionActionError.DUPLICATE_NAME. my $conversion_action_name = "Earth to Mars Cruises Conversion #" . uniqid(); # Create a conversion action. my $conversion_action = Google::Ads::GoogleAds::V17::Resources::ConversionAction->new({ name => $conversion_action_name, category => DEFAULT, type => WEBPAGE, status => ENABLED, viewThroughLookbackWindowDays => 15, valueSettings => Google::Ads::GoogleAds::V17::Resources::ValueSettings->new({ defaultValue => 23.41, alwaysUseDefaultValue => "true" })}); # Create a conversion action operation. my $conversion_action_operation = Google::Ads::GoogleAds::V17::Services::ConversionActionService::ConversionActionOperation ->new({create => $conversion_action}); # Add the conversion action. my $conversion_actions_response = $api_client->ConversionActionService()->mutate({ customerId => $customer_id, operations => [$conversion_action_operation]}); printf "New conversion action added with resource name: '%s'.\n", $conversion_actions_response->{results}[0]{resourceName}; return 1; }
Bạn cũng có thể tìm thấy ví dụ này trong thư mục Tái tiếp thị của thư viện ứng dụng và trong tập hợp mã ví dụ: Thêm mã Hành động chuyển đổi ví dụ.
Xác nhận kết quả
Google Ads và API Google Ads hỗ trợ nhiều hành động chuyển đổi, vì vậy, một số
quy tắc xác thực khác nhau tuỳ theo type
của hành động.
Cho đến nay, lỗi phổ biến nhất khi tạo hành động chuyển đổi là
DUPLICATE_NAME
.
Hãy đảm bảo bạn đang sử dụng tên riêng biệt cho mỗi hành động chuyển đổi.
Dưới đây là một số mẹo về cách thiết lập các trường ConversionAction
:
- Tất cả các trường enum
- Việc cố gắng đặt một trường enum bất kỳ thành
UNKNOWN
sẽ dẫn đến mộtRequestError.INVALID_ENUM_VALUE
lỗi. app_id
- Thuộc tính
app_id
là không thể thay đổi và chỉ có thể thiết lập được khi tạo một thuộc tính mới lượt chuyển đổi đối với ứng dụng. attribution_model_settings
- Đặt giá trị này thành không dùng nữa
lựa chọn
dẫn đến một
CANNOT_SET_RULE_BASED_ATTRIBUTION_MODELS
. Google Ads chỉ hỗ trợGOOGLE_ADS_LAST_CLICK
vàGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN
. click_through_lookback_window_days
Việc đặt thuộc tính này thành một giá trị nằm ngoài phạm vi cho phép sẽ dẫn đến Lỗi
RangeError.TOO_LOW
hoặcRangeError.TOO_HIGH
.Thuộc tính này phải nằm trong phạm vi
[1,60]
đối vớiAD_CALL
hoặcWEBSITE_CALL
hành động chuyển đổi. Đối với hầu hết các hành động chuyển đổi khác, phạm vi cho phép là[1,30]
.include_in_conversions_metric
Không đặt được giá trị này trong thao tác
create
hoặcupdate
thông quaFieldError.IMMUTABLE_FIELD
lỗi. Thay vào đó, hãy đặtprimary_for_goal
thành được mô tả trong Hướng dẫn về mục tiêu lượt chuyển đổi.phone_call_duration_seconds
Cố gắng đặt thuộc tính này trên một hành động chuyển đổi không dành cho cuộc gọi dẫn đến lỗi
FieldError.VALUE_MUST_BE_UNSET
.type
Thuộc tính
type
là không thể thay đổi và chỉ thiết lập được khi tạo một thuộc tính mới chuyển đổi.Cập nhật một hành động chuyển đổi có
type
bằngUNKNOWN
dẫn đến mộtMutateError.MUTATE_NOT_ALLOWED
lỗi.value_settings
value_settings
cho hành động chuyển đổiWEBSITE_CALL
hoặcAD_CALL
phải cóalways_use_default_value
được đặt thànhtrue
. Chỉ định giá trị củafalse
khi tạo hoặc cập nhật giá trị này sẽ dẫn đến lỗiINVALID_VALUE
.view_through_lookback_window_days
Việc đặt thuộc tính này thành một giá trị nằm ngoài phạm vi cho phép sẽ dẫn đến Lỗi
RangeError.TOO_LOW
hoặcRangeError.TOO_HIGH
. Dành cho hầu hết lượt chuyển đổi hành động, phạm vi cho phép là[1,30]
.Không thể đặt thuộc tính này cho lượt chuyển đổi
AD_CALL
hoặcWEBSITE_CALL
hành động. Việc chỉ định một giá trị sẽ dẫn đến lỗiVALUE_MUST_BE_UNSET
.