Trong quá trình tối ưu chiến dịch quảng cáo trên Google Ads, việc điều chỉnh lượt chuyển đổi là một bước quan trọng để đảm bảo dữ liệu chính xác và hỗ trợ quyết định quảng cáo hiệu quả hơn. Google Ads cung cấp API để người dùng có thể thực hiện điều chỉnh các lượt chuyển đổi đã báo cáo, từ đó giúp cải thiện hiệu quả chiến dịch. Tuy nhiên, việc điều chỉnh này đòi hỏi sự cẩn trọng và tuân thủ các yêu cầu cụ thể từ Google để tránh gặp phải các lỗi phổ biến như CONVERSION_NOT_FOUND hay TOO_RECENT_CONVERSION. Bài viết này sẽ hướng dẫn bạn cách thức tải mức điều chỉnh chuyển đổi một cách chi tiết và chính xác nhất.
Sau khi một lượt chuyển đổi đã được ghi nhận trong Google Ads, bạn có thể thực hiện điều chỉnh chuyển đổi thông qua API Google Ads sau một khoảng thời gian nhất định.
Lưu ý quan trọng: Hãy đảm bảo rằng bạn chờ ít nhất 24 giờ sau khi lượt chuyển đổi được ghi nhận trước khi tiến hành điều chỉnh. Điều này giúp tránh các lỗi như CONVERSION_NOT_FOUND hoặc TOO_RECENT_CONVERSION. Quy trình điều chỉnh yêu cầu trước tiên phải xác định hành động chuyển đổi và ghi nhận lại tất cả các lượt chuyển đổi cần điều chỉnh.
Cảnh báo: Việc điều chỉnh lượt chuyển đổi sẽ không áp dụng đối với các hành động chuyển đổi có trạng thái UNKNOWN, do đó, cần đảm bảo rằng hành động chuyển đổi đã được cấu hình chính xác trước khi thực hiện.
Ví dụ về mã
API Google Ads hỗ trợ việc sử dụng order_id, hay còn gọi là mã giao dịch, để xác định lượt chuyển đổi cần điều chỉnh thông qua dịch vụ ConversionAdjustmentUploadService.
Lưu ý: Mặc dù bạn có thể xác định lượt chuyển đổi bằng cách sử dụng gclid_date_time_pair, phương pháp này không bền vững bằng việc sử dụng order_id, do đó không được khuyến khích áp dụng.
Để có được conversion_action_id cần thiết cho việc điều chỉnh lượt chuyển đổi, bạn có thể thực hiện một trong những cách sau:
- Lấy giá trị từ tham số
ctIdcó sẵn trong URL khi bạn nhấp vào thông tin về lượt chuyển đổi trong giao diện người dùng Google Ads. - Truy vấn API Google Ads để lấy
conversion_action.idtừ báo cáoconversion_action.
private void runExample(
GoogleAdsClient googleAdsClient,
long customerId,
long conversionActionId,
String orderId,
String adjustmentType,
String adjustmentDateTime,
@Nullable Float restatementValue)
throws InvalidProtocolBufferException {// Lấy giá trị kiểu enum của loại điều chỉnh từ chuỗi adjustmentType.ConversionAdjustmentType conversionAdjustmentType =
ConversionAdjustmentType.valueOf(adjustmentType);
// Áp dụng điều chỉnh chuyển đổi vào lượt chuyển đổi đã có.
ConversionAdjustment conversionAdjustment =
ConversionAdjustment.newBuilder()
.setConversionAction(ResourceNames.conversionAction(customerId, conversionActionId))
.setAdjustmentType(conversionAdjustmentType)
// Đặt orderId để xác định lượt chuyển đổi cần điều chỉnh.
.setOrderId(orderId)
// Bạn cũng có thể cung cấp GclidDateTimePair thay vì orderId, nhưng sử dụng orderId được khuyến khích hơn.
.setAdjustmentDateTime(adjustmentDateTime)
.build();
// Đặt giá trị đã điều chỉnh cho loại điều chỉnh là RESTATEMENT.
if (restatementValue != null
&& conversionAdjustmentType == ConversionAdjustmentType.RESTATEMENT) {
conversionAdjustment =
conversionAdjustment.toBuilder()
.setRestatementValue(
RestatementValue.newBuilder().setAdjustedValue(restatementValue).build())
.build();
}
// Tạo khách hàng cho dịch vụ tải lên điều chỉnh chuyển đổi.
try (ConversionAdjustmentUploadServiceClient conversionUploadServiceClient =
googleAdsClient.getLatestVersion().createConversionAdjustmentUploadServiceClient()) {
// Tải lên điều chỉnh chuyển đổi. Luôn đặt partial failure là true.
UploadConversionAdjustmentsRequest request =
UploadConversionAdjustmentsRequest.newBuilder()
.setCustomerId(Long.toString(customerId))
.setPartialFailure(true)
.addConversionAdjustments(conversionAdjustment)
.build();
UploadConversionAdjustmentsResponse response =
conversionUploadServiceClient.uploadConversionAdjustments(request);
// Trích xuất lỗi partial failure nếu có trong phản hồi.
ErrorUtils errorUtils = ErrorUtils.getInstance();
GoogleAdsFailure googleAdsFailure =
response.hasPartialFailureError()
? errorUtils.getGoogleAdsFailure(response.getPartialFailureError())
: null;
// Sử dụng bộ in giao thức để in lỗi chi tiết một cách ngắn gọn.
final Printer errorPrinter = JsonFormat.printer().omittingInsignificantWhitespace();
// In kết quả cho mỗi điều chỉnh, bao gồm cả lỗi partial.
for (int opIndex = 0; opIndex < request.getConversionAdjustmentsCount(); opIndex++) {
ConversionAdjustmentResult result = response.getResults(opIndex);
if (errorUtils.isPartialFailureResult(result)) {
// Thao tác thất bại. In chi tiết lỗi.
for (GoogleAdsError googleAdsError :
errorUtils.getGoogleAdsErrors(opIndex, googleAdsFailure)) {
System.out.printf(
“%4d: Xảy ra lỗi partial failure: %s%n”, opIndex, errorPrinter.print(googleAdsError));
}
} else {
System.out.printf(
“%4d: Đã tải lên điều chỉnh chuyển đổi cho hành động chuyển đổi ‘%s’ và order ID ‘%s’.%n”,
opIndex, result.getConversionAction(), result.getOrderId());
}
}
}
}
Yêu cầu
Dưới đây là một số yêu cầu và hạn chế quan trọng cần lưu ý khi thực hiện điều chỉnh lượt chuyển đổi thông qua API Google Ads:
- Tài khoản quản lý hành động chuyển đổi: Chỉ tài khoản có quyền quản lý hành động chuyển đổi mới được phép tải lên các điều chỉnh chuyển đổi. Để xác định tài khoản quản lý lượt chuyển đổi, hãy tham khảo hướng dẫn thiết lập theo dõi lượt chuyển đổi.
- Lỗi khi sử dụng tài khoản không hợp lệ: Nếu bạn cố gắng tải điều chỉnh từ một tài khoản không phải là tài khoản quản lý hành động chuyển đổi, hệ thống sẽ trả về lỗi NO_CONVERSION_ACTION_FOUND. Lỗi này cũng xuất hiện nếu hành động chuyển đổi chưa được kích hoạt.
- Loại hành động chuyển đổi hỗ trợ: Google Ads chỉ hỗ trợ điều chỉnh chuyển đổi đối với các hành động chuyển đổi thuộc loại SALESFORCE, UPLOAD_CLICKS, hoặc WEBPAGE. Nếu bạn cố gắng tải điều chỉnh cho các hành động không thuộc những loại này, sẽ gặp lỗi INVALID_CONVERSION_ACTION_TYPE.
- Múi giờ cho trường ngày và giờ: Các trường ngày giờ phải chứa thông tin múi giờ, không nhất thiết phải trùng với múi giờ của tài khoản. Định dạng được yêu cầu là yyyy-mm-dd HH:mm
+|-HH
, ví dụ: 2022-01-01 19:32:45-05:00.
- Thời gian chờ sau khi tạo hành động chuyển đổi: Bạn cần đợi từ 4 đến 6 giờ sau khi tạo hành động chuyển đổi mới được phép điều chỉnh, nhằm tránh lỗi TOO_RECENT_CONVERSION_ACTION.
- Lỗi CONVERSION_NOT_FOUND: Điều chỉnh sẽ thất bại nếu bất kỳ điều kiện nào sau đây xảy ra:
- Lượt chuyển đổi chưa từng được báo cáo.
- Lượt chuyển đổi được báo cáo chưa đến 24 giờ trước khi điều chỉnh, có thể dẫn đến lỗi TOO_RECENT_CONVERSION.
- Sử dụng order_id cho điều chỉnh: Bạn phải cung cấp
order_idtrongConversionAdjustmentkhi:- Loại hành động chuyển đổi là WEBPAGE.
- Lượt chuyển đổi ban đầu mà bạn đang điều chỉnh đã được chỉ định
order_id.
Nếu bạn sử dụng
gclid_date_time_pairthay vìorder_id, việc này có thể dẫn đến các lỗi như ConversionAdjustmentUploadError.MISSING_ORDER_ID_FOR_WEBPAGE hoặc ConversionAdjustmentUploadError.CONVERSION_NOT_FOUND. - Xử lý lỗi partial failure: Khi tạo
ConversionAdjustment, thuộc tínhpartial_failuretrongUploadConversionAdjustmentsRequestphải luôn được đặt là true. Điều này cho phép xử lý các thao tác thất bại mà không ảnh hưởng đến những thao tác hợp lệ. - Không thể thay đổi ConversionAction: Bạn không thể thay đổi hành động chuyển đổi đã được điều chỉnh. Thay vào đó, hãy sử dụng hành động RETRACTION để loại bỏ lượt chuyển đổi trước đó và tải lên lượt chuyển đổi mới với hành động chuyển đổi đã được cập nhật mà không cần thay đổi dấu thời gian.
Việc điều chỉnh lượt chuyển đổi trong Google Ads là một phần không thể thiếu để tối ưu hóa chiến dịch quảng cáo. Hiểu và tuân thủ các quy tắc, từ việc sử dụng order_id đến thời gian chờ sau khi báo cáo chuyển đổi, sẽ giúp bạn tránh được những lỗi phổ biến và đảm bảo dữ liệu chính xác nhất cho chiến dịch của mình. Nếu thực hiện đúng, các thay đổi này sẽ mang lại hiệu quả lớn trong việc theo dõi và đánh giá hiệu suất quảng cáo. Hãy luôn kiểm tra kỹ các yêu cầu trước khi tiến hành điều chỉnh để đảm bảo mọi thao tác diễn ra suôn sẻ và không gặp phải các lỗi không mong muốn.
