Bạn phải bật tính năng theo dõi lượt chuyển đổi trong tài khoản chuyển đổi trên Google Ads để ghi lại lượt chuyển đổi. Hướng dẫn này cung cấp thông tin chi tiết về cách xác nhận xem tính năng theo dõi lượt chuyển đổi đã được bật hay chưa, bật tính năng này nếu chưa được bật và truy xuất thông tin về các hành động chuyển đổi hiện có.
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 các bước để theo dõi. Để biết thêm thông tin về các loại hành động chuyển đổi và các yêu cầu của từng loại, hãy xem bài viết Danh mục hành động chuyển đổi và Tạo hành động chuyển đổi.
Chuẩn bị cung cấp sự đồng ý
Khi nhập lượt chuyển đổi hoặc dữ liệu người dùng, bạn phải xác nhận rằng bạn có quyền chia sẻ dữ liệu lượt chuyển đổi với Google. Bạn có thể thực hiện việc này theo một trong hai cách sau:
- Định cấu hình chế độ cài đặt mặc định về sự đồng ý ở cấp tài khoản. Trong giao diện người dùng Google Ads, hãy nhấp vào Công cụ > Trình quản lý dữ liệu > Chế độ cài đặt về sự đồng ý > Chế độ cài đặt mặc định về sự đồng ý.
- Đặt trường về sự đồng ý trên từng tải trọng dữ liệu người dùng hoặc lượt chuyển đổi đã nhập (ví
dụ:
ClickConversion.consent,CallConversion.consenthoặcUserData.consent).
Thiết lập trang web để theo dõi lượt chuyển đổi
Nếu bạn đang theo dõi lượt chuyển đổi trên trang web hoặc triển khai tính năng lượt chuyển đổi nâng cao cho khách hàng tiềm năng, hãy định cấu hình tính năng gắn thẻ trên trang web trước. Hãy làm theo các bước trong bài viết Định cấu hình thẻ Google cho tính năng lượt chuyển đổi nâng cao cho khách hàng tiềm năng, hoặc sử dụng Trình quản lý thẻ của Google bằng cách làm theo bài viết Định cấu hình Trình quản lý thẻ của Google cho tính năng lượt chuyển đổi nâng cao cho khách hàng tiềm năng.
Bật tính năng theo dõi lượt chuyển đổi trong tài khoản chuyển đổi trên Google Ads
Hãy làm theo các bước sau để xác minh chế độ thiết lập tính năng theo dõi lượt chuyển đổi của tài khoản và tạo hoặc truy xuất hành động chuyển đổi.
Các bước để bật tính năng theo dõi lượt chuyển đổi
Truy xuất thông tin về chế độ thiết lập tính năng theo dõi lượt chuyển đổi
Bạn có thể kiểm tra chế độ thiết lập tính năng theo dõi lượt chuyển đổi của tài khoản và xác nhận rằng tính năng theo dõi lượt chuyển đổi đã được bật bằng cách truy vấn tài nguyên Customer cho ConversionTrackingSetting.
Hãy đưa ra truy vấn sau bằng
GoogleAdsService.SearchStream:
SELECT
customer.conversion_tracking_setting.google_ads_conversion_customer,
customer.conversion_tracking_setting.conversion_tracking_status,
customer.conversion_tracking_setting.conversion_tracking_id,
customer.conversion_tracking_setting.cross_account_conversion_tracking_id
FROM customer
Trường google_ads_conversion_customer cho biết tài khoản Google Ads tạo và quản lý lượt chuyển đổi cho khách hàng này. Đối với những khách hàng sử dụng
tính năng theo dõi lượt chuyển đổi trên nhiều tài khoản, đây là mã nhận dạng
của tài khoản người quản lý. Bạn nên cung cấp mã khách hàng chuyển đổi trên Google Ads dưới dạng customer_id trong các yêu cầu của Google Ads API để tạo và quản lý lượt chuyển đổi. Xin lưu ý rằng trường này được điền sẵn ngay cả khi tính năng theo dõi lượt chuyển đổi chưa được bật.
Trường
conversion_tracking_status
cho biết liệu tính năng theo dõi lượt chuyển đổi đã được bật hay chưa và liệu tài khoản
có đang sử dụng tính năng theo dõi lượt chuyển đổi trên nhiều tài khoản hay không.
Tạo hành động chuyển đổi trong khách hàng chuyển đổi trên Google Ads
Nếu giá trị conversion_tracking_status là NOT_CONVERSION_TRACKED, thì tính năng theo dõi lượt chuyển đổi chưa được bật cho tài khoản. Hãy bật tính năng theo dõi lượt chuyển đổi
bằng cách tạo ít nhất một ConversionAction trong
tài khoản chuyển đổi trên Google Ads, như trong ví dụ sau. Ngoài ra, bạn có thể tạo hành động chuyển đổi trong giao diện người dùng bằng cách làm theo hướng dẫn trong bài viết trên Trung tâm trợ giúp Google Ads về cách thiết lập tính năng theo dõi lượt chuyển đổi cho loại lượt chuyển đổi mà bạn muốn bật.
Xin lưu ý rằng tính năng lượt chuyển đổi nâng cao sẽ tự động được bật khi được gửi thông qua Google Ads API, nhưng bạn có thể tắt tính năng này thông qua giao diện người dùng Google Ads.
Ví dụ về mã
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.V25.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: GoogleAdsClient, customer_id: str) -> None: conversion_action_service: ConversionActionServiceClient = ( client.get_service("ConversionActionService") ) # Create the operation. conversion_action_operation: ConversionActionOperation = client.get_type( "ConversionActionOperation" ) # Create conversion action. conversion_action: ConversionAction = 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: ConversionAction.ValueSettings = ( conversion_action.value_settings ) value_settings.default_value = 15.0 value_settings.always_use_default_value = True # Add the conversion action. conversion_action_response: MutateConversionActionsResponse = ( 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::V25::Resources::ConversionAction->new({ name => $conversion_action_name, category => DEFAULT, type => WEBPAGE, status => ENABLED, viewThroughLookbackWindowDays => 15, valueSettings => Google::Ads::GoogleAds::V25::Resources::ValueSettings->new({ defaultValue => 23.41, alwaysUseDefaultValue => "true" })}); # Create a conversion action operation. my $conversion_action_operation = Google::Ads::GoogleAds::V25::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; }
curl
Hãy đảm bảo rằng bạn đã đặt type
thành giá trị
ConversionActionType
chính xác. Để biết thêm hướng dẫn về cách tạo hành động chuyển đổi trong Google Ads API, hãy xem
bài viết Tạo
hành động chuyển đổi.
Truy xuất hành động chuyển đổi hiện có
Bạn có thể truy xuất thông tin chi tiết cho một hành động chuyển đổi hiện có bằng cách đưa ra truy vấn sau. Hãy đảm bảo rằng bạn đã đặt mã khách hàng trong yêu cầu thành khách hàng chuyển đổi trên Google Ads
mà bạn đã xác định trước đó và đặt loại hành động chuyển đổi
thành giá trị
ConversionActionType
chính xác.
SELECT
conversion_action.id,
conversion_action.resource_name,
conversion_action.name,
conversion_action.type,
conversion_action.category,
conversion_action.status
FROM conversion_action
WHERE conversion_action.type = 'INSERT_CONVERSION_ACTION_TYPE'
Theo dõi lượt chuyển đổi trên nhiều tài khoản
Tính năng theo dõi lượt chuyển đổi trên nhiều tài khoản cho phép các tài khoản Google Ads nhập lượt chuyển đổi thay mặt cho các tài khoản khác. Các tài khoản khác này có thể đã phân phát quảng cáo tạo ra lượt chuyển đổi. Tính năng này có thể giúp đơn giản hoá quá trình tích hợp bằng cách cho phép bạn hợp nhất các tài khoản đưa ra yêu cầu nhập.
Bật tính năng theo dõi lượt chuyển đổi trên nhiều tài khoản trong Google Ads API
Bạn có thể sử dụng Google Ads API để chọn sử dụng tính năng theo dõi lượt chuyển đổi trên nhiều tài khoản khi tạo hoặc cập nhật tài khoản khách hàng.
Trên tài nguyên Customer, hãy đặt trường
conversion_tracking_setting.google_ads_conversion_customer
thành tên tài nguyên của tài khoản người quản lý sẽ
quản lý hành động chuyển đổi thay mặt cho tài khoản khách hàng.
Các yêu cầu sửa đổi khách hàng chuyển đổi của một tài khoản khách hàng phải được gửi bởi tài khoản người quản lý đang trở thành khách hàng chuyển đổi mới cho khách hàng đó.
Hãy thực hiện việc này bằng cách đặt login-customer-id thành mã tài khoản người quản lý
ID.
Khi bạn chọn sử dụng tính năng theo dõi lượt chuyển đổi trên nhiều tài khoản hoặc chuyển đổi trình quản lý theo dõi lượt chuyển đổi cho một tài khoản khách hàng hiện có, các cảnh báo tương tự sẽ áp dụng như khi bạn thực hiện thay đổi này trong giao diện người dùng. Cụ thể:
- Tài khoản khách hàng sẽ áp dụng các quy tắc mặc định về giá trị lượt chuyển đổi và mục tiêu mặc định về vòng đời khách hàng của trình quản lý theo dõi lượt chuyển đổi mới.
- Những chiến dịch nhắm đến một hành động chuyển đổi cụ thể sẽ chuyển sang sử dụng mục tiêu lượt chuyển đổi mặc định của tài khoản trình quản lý lượt chuyển đổi. Nếu bạn tiếp tục nhắm đến một hành động chuyển đổi cụ thể, thì điều đó có thể dẫn đến hành vi không nhất quán, vì tài khoản người quản lý có thể không có cùng mục tiêu với tài khoản khách hàng. Hãy đảm bảo rằng chiến dịch của bạn được tối ưu hoá để đạt được các mục tiêu phù hợp.
- Nếu một tài khoản thuộc về nhiều tài khoản người quản lý, thì tài khoản đó chỉ có thể sử dụng hành động chuyển đổi của một người quản lý. Nếu bạn không chỉ định tài khoản theo dõi lượt chuyển đổi, thì tài khoản đó sẽ tự sử dụng làm tài khoản theo dõi lượt chuyển đổi theo mặc định.
Nhập lượt chuyển đổi trên nhiều tài khoản
Khi bạn bật tính năng theo dõi trên nhiều tài khoản, tài khoản khách hàng và tài khoản người quản lý có thể nhập lượt chuyển đổi thay mặt cho tài khoản phân phát quảng cáo. Điều này giúp bạn đơn giản hoá logic nhập để không cần xác định tài khoản phân phát quảng cáo cho từng lượt chuyển đổi tại thời điểm nhập. Bạn chỉ cần chọn một tài khoản trong cây tài khoản để nhập tất cả lượt chuyển đổi.
Để tải lượt chuyển đổi lên thành công, tài khoản tải lên phải có quyền truy cập vào hành động chuyển đổi. Trong hệ thống phân cấp theo dõi trên nhiều tài khoản, tài khoản tải lên có quyền truy cập vào hành động nếu đó là tài khoản mẹ (người quản lý) hoặc tài khoản con của chủ sở hữu hành động chuyển đổi trong cây tài khoản.
Sơ đồ sau đây minh hoạ cấu trúc uỷ quyền để nhập lượt chuyển đổi. Trong đó, C1 là tài khoản khách hàng đã phân phát quảng cáo tạo ra lượt chuyển đổi, M2 là chủ sở hữu hành động chuyển đổi và là tài khoản mẹ theo dõi lượt chuyển đổi của C1. Các tài khoản được đánh dấu màu xanh lục được phép nhập lượt chuyển đổi thay mặt cho C1, trong khi các tài khoản được đánh dấu màu đỏ thì không.

Tạo hành động chuyển đổi
Để đo lường lượt chuyển đổi, hãy thiết lập ConversionAction cho
type của hành động chuyển đổi mà bạn muốn theo dõi.
Ví dụ: giao dịch mua hàng trực tuyến và cuộc gọi điện thoại yêu cầu các 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
ví dụ về mã Thêm hành động chuyển đổi. Mẫu này xử lý tất cả các
tác vụ xác thực ở chế độ nền cho bạn và hướng dẫn bạn cách 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 các bước để theo dõi. Ví dụ: để theo dõi lượt chuyển đổi trên trang web, bạn phải thêm một đoạn mã có tên là thẻ vào trang chuyển đổi trên trang web của mình. Để biết các yêu cầu chi tiết của các loại hành động chuyển đổi khác, hãy xem bài viết trên Trung tâm trợ giúp Google Ads của chúng tôi về các loại lượt chuyển đổi.
Nếu bạn đang sử dụng tính năng theo dõi lượt chuyển đổi trên nhiều tài khoản, thì
ConversionActionService sẽ trả về các
hành động chuyển đổi sau:
- Tất cả hành động chuyển đổi do tài khoản người quản lý xác định mà tài khoản đó sử dụng để theo dõi lượt chuyển đổi trên nhiều tài khoản
- Tất cả hành động chuyển đổi mà khách hàng đã tích luỹ được số liệu thống kê, bao gồm cả hành động do hệ thống xác định và hành động do người quản lý sở hữu ngay cả khi người quản lý đó sau này huỷ liên kết
- Tất cả hành động mà khách hàng đã xác định trong tài khoản của riêng họ
- Lượt chuyển đổi trên Analytics được tạo trong các tài sản Google Analytics đã liên kết.
Điều này bao gồm cả các hành động đối với lượt chuyển đổi trên Analytics chưa được nhập vào Google Ads,
và có trạng thái là
HIDDEN.
Ví dụ về mã
Ví dụ về mã sau đây sẽ hướng dẫn bạn quy trình tạo hành động chuyển đổi mới. Cụ thể, ví dụ này tạo một hành động chuyển đổi có
type được đặt thành UPLOAD_CLICKS.
Ví dụ này cũng đặt category thành
DEFAULT.
Các chế độ cài đặt mặc định sau đây sẽ được áp dụng:
Google Ads API tự động đặt trường
primary_for_goal, 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 việc báo cáo và đặt giá thầu trong tài khoản của bạn khi kết hợp với mục tiêu lượt chuyển đổi.Google Ads API tự động đặt
counting_typethànhMANY_PER_CLICK. Hãy xem bài viết Giới thiệu về các phương pháp tính lượt chuyển đổi để biết thêm thông tin chi tiết.Google Ads API đặt mô hình phân bổ thành Dựa trên dữ liệu bằng cách đặt trường
attribution_model_settingsthành giá trịGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVENcủaAttributionModel. Hãy xem bài viết Giới thiệu về mô hình phân bổ để tìm hiểu thêm về mô hình phân bổ.
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.V25.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: GoogleAdsClient, customer_id: str) -> None: conversion_action_service: ConversionActionServiceClient = ( client.get_service("ConversionActionService") ) # Create the operation. conversion_action_operation: ConversionActionOperation = client.get_type( "ConversionActionOperation" ) # Create conversion action. conversion_action: ConversionAction = 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: ConversionAction.ValueSettings = ( conversion_action.value_settings ) value_settings.default_value = 15.0 value_settings.always_use_default_value = True # Add the conversion action. conversion_action_response: MutateConversionActionsResponse = ( 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::V25::Resources::ConversionAction->new({ name => $conversion_action_name, category => DEFAULT, type => WEBPAGE, status => ENABLED, viewThroughLookbackWindowDays => 15, valueSettings => Google::Ads::GoogleAds::V25::Resources::ValueSettings->new({ defaultValue => 23.41, alwaysUseDefaultValue => "true" })}); # Create a conversion action operation. my $conversion_action_operation = Google::Ads::GoogleAds::V25::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; }
curl
Bạn có thể xem ví dụ này trong thư mục Tiếp thị lại của thư viện ứng dụng khách và trong bộ sưu tập ví dụ về mã: Ví dụ về mã Thêm hành động chuyển đổi ví dụ.
Xác nhận kết quả
Google Ads và Google Ads API hỗ trợ nhiều hành động chuyển đổi, vì vậy, một số
quy tắc xác thực sẽ khác nhau dựa trên type của
hành động.
Lỗi phổ biến nhất khi tạo hành động chuyển đổi là
DUPLICATE_NAME. Hãy đảm bảo rằng bạn đang sử dụng một tên riêng biệt cho từng hành động chuyển đổi.
Sau đây là một số mẹo về cách đặt các trường ConversionAction:
- Tất cả các trường enum
- Việc cố gắng đặt bất kỳ trường enum nào thành
UNKNOWNsẽ dẫn đến lỗiRequestError.INVALID_ENUM_VALUE. app_id- Thuộc tính
app_idlà bất biến và chỉ có thể được đặt khi tạo lượt chuyển đổi ứng dụng mới. attribution_model_settings- Việc đặt thuộc tính này thành một lựa chọn không dùng nữa sẽ dẫn đến
lỗi
CANNOT_SET_RULE_BASED_ATTRIBUTION_MODELS. Google Ads chỉ hỗ trợGOOGLE_ADS_LAST_CLICKvàGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN. click_through_lookback_window_daysViệ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_LOWhoặcRangeError.TOO_HIGH.Thuộc tính này phải nằm trong khoảng từ 1 đến 60 ngày đối với hành động chuyển đổi
AD_CALLhoặcWEBSITE_CALL. Đối với hầu hết các hành động chuyển đổi khác, phạm vi cho phép là từ 1 đến 90 ngày.include_in_conversions_metricViệc đặt giá trị này trong thao tác
createhoặcupdatesẽ không thành công và dẫn đến lỗiFieldError.IMMUTABLE_FIELD. Thay vào đó, hãy đặtprimary_for_goalnhư mô tả trong hướng dẫn về Mục tiêu lượt chuyển đổi.phone_call_duration_secondsViệc cố gắng đặt thuộc tính này cho một hành động chuyển đổi không dành cho cuộc gọi sẽ dẫn đến lỗi
FieldError.VALUE_MUST_BE_UNSET.typeThuộc tính
typelà bất biến và chỉ có thể được đặt khi tạo lượt chuyển đổi mới.Việc cập nhật hành động chuyển đổi có
typebằngUNKNOWNsẽ dẫn đến lỗiMutateError.MUTATE_NOT_ALLOWED.value_settingsvalue_settingscho hành động chuyển đổiWEBSITE_CALLhoặcAD_CALLphải đặtalways_use_default_valuethànhtrue. Việc chỉ định giá trịfalsekhi tạo hoặc cập nhật giá trị này sẽ dẫn đến lỗiINVALID_VALUE.view_through_lookback_window_daysViệ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_LOWhoặcRangeError.TOO_HIGH. Đối với hầu hết các hành động chuyển đổi, phạm vi cho phép là từ 1 đến 30 ngày.Bạn không thể đặt thuộc tính này cho hành động chuyển đổi
AD_CALLhoặcWEBSITE_CALL. Việc chỉ định một giá trị sẽ dẫn đến lỗiVALUE_MUST_BE_UNSET.