Trong Google Ads, lượt chuyển đổi là một hành động có giá trị của người dùng (chẳng hạn như mua sản phẩm, gửi biểu mẫu khách hàng tiềm năng, gọi điện cho doanh nghiệp hoặc ghé thăm cửa hàng thực tế) sau khi lượt tương tác với quảng cáo. Tính năng theo dõi lượt chuyển đổi đo lường những lượt tương tác này của khách hàng để bạn có thể đánh giá hiệu suất chiến dịch và tối ưu hoá chiến lược đặt giá thầu tự động.
Google Ads API cho phép bạn định cấu hình hành động chuyển đổi theo phương thức lập trình, nhập sự kiện chuyển đổi ngoại tuyến, nâng cao hoặc điều chỉnh lượt chuyển đổi đã ghi nhận, nhóm hành động vào mục tiêu đặt giá thầu và mục tiêu vòng đời, cũng như theo dõi thông tin chẩn đoán về lượt tải lên.
Chọn quy trình chuyển đổi
Sử dụng bảng sau để xác định ConversionActionType, dịch vụ API và hướng dẫn triển khai cho trường hợp sử dụng của bạn:
| Nhiệm vụ | Loại hành động chuyển đổi | Dịch vụ hoặc tài nguyên API | Hướng dẫn triển khai |
|---|---|---|---|
| Xác minh thông tin thiết lập tài khoản và tạo hành động chuyển đổi |
UPLOAD_CLICKS, WEBPAGE,
UPLOAD_CALLS, AD_CALL,
WEBSITE_CALL, GOOGLE_PLAY_,
GOOGLE_PLAY_
|
Customer
(ConversionTracking),
ConversionAction
|
Bắt đầu và Danh mục hành động chuyển đổi |
| Nhập lượt chuyển đổi từ lượt nhấp ngoại tuyến hoặc lượt chuyển đổi nâng cao cho khách hàng tiềm năng | UPLOAD_CLICKS |
ConversionUploadService.
(hoặc
Data Manager API
đối với các hoạt động tích hợp mới)
|
Nhập lượt chuyển đổi ngoại tuyến từ lượt nhấp |
| Nâng cao lượt chuyển đổi trực tuyến (lượt chuyển đổi nâng cao cho web) | WEBPAGE |
ConversionAdjustment
(ENHANCEMENT)
|
Nhập lượt chuyển đổi từ lượt nhấp trực tuyến |
| Nhập các lượt chuyển đổi cuộc gọi điện thoại | UPLOAD_CALLS |
ConversionUploadService.
|
Nhập lượt chuyển đổi dạng cuộc gọi |
| Nhập giao dịch bán hàng tại cửa hàng thực tế |
STORE_SALES,
STORE_SALES_
|
OfflineUserData
(hoặc
Data Manager API)
|
Nhập lượt chuyển đổi dạng lượt bán hàng tại cửa hàng thực tế |
| Rút lại hoặc điều chỉnh lượt chuyển đổi đã ghi nhận |
UPLOAD_CLICKS, WEBPAGE,
SALESFORCE (không dùng nữa)
|
ConversionAdjustment
(RETRACTION, RESTATEMENT)
|
Điều chỉnh lượt chuyển đổi sau khi nhập |
| Đính kèm siêu dữ liệu thẻ tuỳ chỉnh vào lượt chuyển đổi |
UPLOAD_CLICKS, UPLOAD_CALLS,
WEBPAGE
|
ConversionCustom
|
Biến tuỳ chỉnh lượt chuyển đổi |
| Định cấu hình mục tiêu đặt giá thầu, mục tiêu vòng đời và quy tắc về giá trị | Mục tiêu về tài khoản, chiến dịch và mục tiêu vòng đời |
CustomerConversion,
CampaignConversion,
CustomConversion,
ConversionGoal,
GoalService,
CampaignGoal,
ConversionValue
|
Mục tiêu lượt chuyển đổi, Mục tiêu vòng đời, và Quy tắc về giá trị lượt chuyển đổi |
| Theo dõi tình trạng nhập và chẩn đoán lỗi |
UPLOAD_CLICKS, WEBPAGE,
UPLOAD_CALLS
|
offline_conversion_upload_,
offline_conversion_upload_
|
Theo dõi thông tin chẩn đoán về dữ liệu ngoại tuyến |
| Truy vấn các chỉ số lượt chuyển đổi và khắc phục sự cố | Tất cả các loại chuyển đổi |
GoogleAdsService.
(customer, campaign,
conversion_action)
|
Tìm nạp số liệu thống kê về lượt chuyển đổi và Khắc phục sự cố khi nhập lượt chuyển đổi |
Vòng đời chuyển đổi toàn diện
Quá trình tích hợp hoàn chỉnh tính năng quản lý lượt chuyển đổi trong Google Ads API gồm 4 giai đoạn:
- Xác minh chế độ thiết lập tài khoản và tạo hành động chuyển đổi: Truy vấn
Customer.conversion_tracking_settingđể xác nhận tài khoản chuyển đổi hiệu quả (google_ads_conversion_customer), xác minh rằng tính năng theo dõi lượt chuyển đổi đang hoạt động, định cấu hình sự đồng ý của người dùng và tạoConversionActionvớiConversionActionTypevàConversionActionCategorymục tiêu. - Nhập sự kiện chuyển đổi: Truyền trực tuyến lượt chuyển đổi dạng cuộc gọi hoặc lượt nhấp ngoại tuyến bằng cách sử dụng
ConversionUploadService, trong đópartial_failuređược đặt thànhtrue, bổ sung lượt chuyển đổi trên trang web bằng các mức điều chỉnhENHANCEMENTbằng cách sử dụngConversionAdjustmentUploadServicehoặc tải lên hàng loạt lượt bán hàng tại cửa hàng thực tế bằng cách sử dụngOfflineUserDataJobService. - Điều chỉnh và tối ưu hoá lượt chuyển đổi: Rút lại hoặc điều chỉnh lượt chuyển đổi đã ghi nhận bằng cách sử dụng
ConversionAdjustmentUploadService, đính kèm siêu dữ liệuConversionCustomVariable, áp dụng quy tắc về giá trị lượt chuyển đổi và sắp xếp các hành động thành mục tiêu lượt chuyển đổi và mục tiêu vòng đời để kiểm soát việc tối ưu hoá chiến lược đặt giá thầu. - Theo dõi thông tin chẩn đoán và báo cáo hiệu suất: Truy vấn
offline_conversion_upload_client_summaryvàoffline_conversion_upload_conversion_action_summaryđể kiểm tra trạng thái xử lý của tệp tải lên và cảnh báo về lỗi một phần. Truy vấn tài nguyêncustomerhoặccampaign(tuỳ ý phân đoạn theosegments.conversion_action) để so sánh các chỉ sốmetrics.conversionsvàmetrics.all_conversions, hoặc truy vấn tài nguyênconversion_actionđể kiểm trametrics.all_conversionsvà dấu thời gian của lượt chuyển đổi gần đây nhất.
Bắt đầu nhanh: Xác minh chế độ thiết lập, tạo hành động và kiểm tra tình trạng
Các ví dụ sau đây cho thấy 3 truy vấn và đột biến phổ biến nhất cần thiết để khởi động và giám sát theo dõi lượt chuyển đổi.
1. Xác minh chế độ cài đặt theo dõi lượt chuyển đổi bằng GAQL
Trước khi tạo ConversionAction hoặc tải sự kiện lên, hãy truy vấn tài nguyên customer bằng cách sử dụng GoogleAdsService.SearchStream để xác định tài khoản nào quản lý lượt chuyển đổi (google_ads_conversion_customer), liệu các điều khoản về dữ liệu khách hàng có được chấp nhận hay không và liệu tính năng lượt chuyển đổi nâng cao ở cấp tài khoản có được bật hay không (EnhancedConversionsConfig):
SELECT
customer.conversion_tracking_setting.conversion_tracking_id,
customer.conversion_tracking_setting.conversion_tracking_status,
customer.conversion_tracking_setting.cross_account_conversion_tracking_id,
customer.conversion_tracking_setting.google_ads_conversion_customer,
customer.conversion_tracking_setting.accepted_customer_data_terms,
customer.conversion_tracking_setting.enablement_setting,
customer.conversion_tracking_setting.effective_enablement_setting
FROM customer
Trích xuất {customer_id} từ tên tài nguyên customers/{customer_id} được trả về trong google_ads_conversion_customer, rồi đưa ra tất cả các yêu cầu ConversionActionService và ConversionUploadService tiếp theo đối với mã khách hàng đó. Để biết toàn bộ thông tin thiết lập và thông tin chi tiết về hệ thống phân cấp nhiều tài khoản, hãy xem phần Bắt đầu.
2. Tạo một hành động chuyển đổi
Sử dụng ConversionActionService.MutateConversionActions để tạo ConversionAction. Ví dụ sau đây tạo một hành động chuyển đổi UPLOAD_CLICKS có giá trị tuỳ chỉnh và chế độ cài đặt về thời gian xem lại:
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.V26.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::V26::Resources::ConversionAction->new({ name => $conversion_action_name, category => DEFAULT, type => WEBPAGE, status => ENABLED, viewThroughLookbackWindowDays => 15, valueSettings => Google::Ads::GoogleAds::V26::Resources::ValueSettings->new({ defaultValue => 23.41, alwaysUseDefaultValue => "true" })}); # Create a conversion action operation. my $conversion_action_operation = Google::Ads::GoogleAds::V26::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
Yêu cầu REST
Để tạo cùng một ConversionAction qua REST, hãy gửi yêu cầu POST đến ConversionActionService.MutateConversionActions:
POST https://googleads.googleapis.com/v26/customers/{customer_id}/conversionActions:mutate
{
"operations": [
{
"create": {
"name": "Earth to Mars Cruise Conversion",
"type": "UPLOAD_CLICKS",
"category": "DEFAULT",
"status": "ENABLED",
"primaryForGoal": true,
"countingType": "ONE_PER_CLICK",
"clickThroughLookbackWindowDays": "60",
"valueSettings": {
"defaultValue": 23.41,
"defaultCurrencyCode": "USD",
"alwaysUseDefaultValue": true
}
}
}
]
}
Sau khi hành động chuyển đổi của bạn ENABLED, hãy nhập sự kiện chuyển đổi hoặc
thông tin nâng cao bằng quy trình làm việc cho nguồn chuyển đổi của bạn (xem phần Nhập
sự kiện chuyển đổi).
3. Theo dõi tình trạng tải lượt chuyển đổi ngoại tuyến lên
Sau khi tải lượt chuyển đổi từ lượt nhấp, lượt chuyển đổi dạng cuộc gọi hoặc mức điều chỉnh cho lượt chuyển đổi lên, hãy truy vấn offline_conversion_upload_client_summary để kiểm tra trạng thái tổng thể của công việc, tỷ lệ thành công và tỷ lệ đang chờ xử lý, cũng như bảng chi tiết lỗi trong các tệp tải lên gần đây:
SELECT
offline_conversion_upload_client_summary.client,
offline_conversion_upload_client_summary.status,
offline_conversion_upload_client_summary.total_event_count,
offline_conversion_upload_client_summary.successful_event_count,
offline_conversion_upload_client_summary.success_rate,
offline_conversion_upload_client_summary.pending_event_count,
offline_conversion_upload_client_summary.pending_rate,
offline_conversion_upload_client_summary.last_upload_date_time,
offline_conversion_upload_client_summary.alerts
FROM offline_conversion_upload_client_summary
Truy vấn offline_conversion_upload_conversion_action_summary để xem thông tin chẩn đoán ở cấp hành động chuyển đổi (xem phần Theo dõi thông tin chẩn đoán dữ liệu ngoại tuyến) và tham khảo bài viết Khắc phục sự cố khi nhập lượt chuyển đổi để giải quyết các mã lỗi cụ thể.
Thư mục hướng dẫn theo giai đoạn trong vòng đời
Khám phá toàn bộ hướng dẫn quản lý lượt chuyển đổi được sắp xếp theo giai đoạn trong vòng đời:
1. Thiết lập tài khoản và hành động chuyển đổi
- Danh mục hành động chuyển đổi: Chọn đúng nguồn chuyển đổi – trang web (
WEBPAGE), cuộc gọi điện thoại (UPLOAD_CALLS,AD_CALL,WEBSITE_CALL), ứng dụng di động (GOOGLE_PLAY_DOWNLOAD,GOOGLE_PLAY_IN_APP_PURCHASE, Firebase,SKAdNetwork), Google Analytics 4 (GOOGLE_ANALYTICS_4_CUSTOM,GOOGLE_ANALYTICS_4_PURCHASE), ngoại tuyến (UPLOAD_CLICKS) hoặc cửa hàng thực tế (STORE_SALES) – rồi liên kết nguồn đó vớiConversionActionTypevà quy trình API tương ứng. - Bắt đầu: Định cấu hình sự đồng ý của người dùng, xác minh
ConversionTrackingSetting, thiết lập tính năng theo dõi lượt chuyển đổi trên nhiều tài khoản và tạo hành động chuyển đổi bằng thư viện ứng dụng hoặc REST.
2. Nhập sự kiện chuyển đổi
- Nhập lượt chuyển đổi ngoại tuyến từ lượt nhấp: Tải lượt chuyển đổi ngoại tuyến (
GCLID,GBRAID,WBRAID) và lượt chuyển đổi nâng cao cho khách hàng tiềm năng (email và số điện thoại đã băm của bên thứ nhất) lên để đo lường các giao dịch thực tế. - Nhập lượt chuyển đổi từ lượt nhấp trực tuyến: Bổ sung dữ liệu người dùng của bên thứ nhất (chẳng hạn như địa chỉ email, tên, địa chỉ nhà riêng và số điện thoại) vào thẻ lượt chuyển đổi trên trang web bằng cách sử dụng tính năng lượt chuyển đổi nâng cao cho web (điều chỉnh
ENHANCEMENT). - Nhập lượt chuyển đổi dẫn đến cuộc gọi: Tải các sự kiện chuyển đổi lên cho những cuộc gọi điện thoại được theo dõi thông qua số chuyển tiếp của Google hoặc hệ thống theo dõi cuộc gọi của riêng bạn.
- Nhập lượt chuyển đổi dạng lượt bán hàng tại cửa hàng thực tế: Tải dữ liệu giao dịch tại cửa hàng lên hàng loạt bằng
OfflineUserDataJobService.
3. Điều chỉnh và tối ưu hoá lượt chuyển đổi
- Điều chỉnh lượt chuyển đổi sau khi nhập: Rút lại các đơn đặt hàng đã huỷ (
RETRACTION) hoặc điều chỉnh giá trị lượt chuyển đổi đã sửa đổi (RESTATEMENT) cho các hành động chuyển đổiUPLOAD_CLICKS,WEBPAGEvàSALESFORCE(không dùng nữa). - Quản lý các quy tắc về giá trị lượt chuyển đổi: Điều chỉnh linh động giá trị lượt chuyển đổi tại thời điểm đấu giá dựa trên các tiêu chí về đối tượng, thiết bị, vị trí địa lý hoặc hành trình.
- Biến chuyển đổi tuỳ chỉnh: Xác định và đính kèm các thẻ khoá-giá trị tuỳ chỉnh (
ConversionCustomVariable) vào lượt chuyển đổi từ lượt nhấp, cuộc gọi và lượt chuyển đổi trên web để báo cáo theo phân khúc. - Mục tiêu lượt chuyển đổi: Nhóm các hành động chuyển đổi theo các trường
category(ConversionActionCategory) vàorigin(ConversionOrigin), đồng thời định cấu hình mục tiêu của khách hàng, mục tiêu của chiến dịch và mục tiêu tuỳ chỉnh, cũng như mục tiêu vòng đời của khách hàng (thu nạp khách hàng mới, giữ chân khách hàng và giữ chân khách hàng thân thiết). Bạn cũng có thể truy xuất và áp dụngOPTIMIZE_FOR_NEW_CUSTOMERSđề xuất cho giá trị lượt chuyển đổi gia tăng của khách hàng mới.
4. Giám sát, báo cáo và khắc phục sự cố
- Theo dõi thông tin chẩn đoán về dữ liệu ngoại tuyến: Truy vấn thông tin chẩn đoán về dữ liệu ngoại tuyến ở cấp tài khoản (
offline_conversion_upload_client_summary) và cấp hành động chuyển đổi (offline_conversion_upload_conversion_action_summary) để theo dõi tỷ lệ thành công, sự kiện đang chờ xử lý và cảnh báo về việc tải lên. - Tìm nạp số liệu thống kê về lượt chuyển đổi: Truy vấn các chỉ số hiệu suất lượt chuyển đổi trong GAQL và ánh xạ các cột trong giao diện người dùng Google Ads với các trường trong API Google Ads.
- Khắc phục sự cố khi nhập lượt chuyển đổi: Chẩn đoán và giải quyết các mã
ConversionUploadErrorvàConversionAdjustmentUploadErrorphổ biến.