Tối ưu hóa chiến dịch với tính năng lượt chuyển đổi nâng cao trong Google Ads

Google Ads luôn cung cấp những tính năng hữu ích để hỗ trợ doanh nghiệp tối ưu hoá chiến dịch quảng cáo của mình. Một trong những tính năng nổi bật chính là “lượt chuyển đổi nâng cao cho web.” Tính năng này không chỉ giúp doanh nghiệp theo dõi chính xác hơn về hiệu quả chuyển đổi mà còn cải thiện khả năng khớp thông tin nhờ vào việc sử dụng các giá trị nhận dạng người dùng đã được chuẩn hóa và băm. Trong bài viết này, chúng ta sẽ khám phá cách triển khai và tối ưu hóa tính năng lượt chuyển đổi nâng cao, đồng thời chia sẻ các phương pháp hay nhất để đảm bảo bạn có thể tận dụng tối đa sức mạnh của công cụ này.

Với tính năng enhanced conversions trên web, bạn có thể tối ưu hóa độ chính xác của việc đo lường chuyển đổi bằng cách tải các thông tin điều chỉnh lượt chuyển đổi lên hệ thống. Dữ liệu này bao gồm mã giao dịch và các giá trị nhận dạng người dùng đã được băm theo chuẩn an toàn bảo mật.

Trước khi triển khai, hãy đảm bảo rằng bạn đã hoàn thành các yêu cầu cài đặt cơ bản cho tính năng enhanced conversions để đảm bảo quá trình tích hợp diễn ra suôn sẻ.

Quy trình thực hiện

Dưới đây là quy trình chi tiết để tải lượt chuyển đổi nâng cao lên qua API Google Ads:

  1. Đảm bảo điều kiện tiên quyết đã được thiết lập: a. Kích hoạt tính năng theo dõi chuyển đổi (conversion tracking).
    b. Đồng ý với các điều khoản liên quan đến dữ liệu khách hàng.
    c. Cấu hình tagging trên website của bạn theo đúng hướng dẫn chi tiết.
  2. Chuẩn hoá và băm dữ liệu người dùng: Thực hiện việc chuẩn hoá các dữ liệu cá nhân như email, số điện thoại và địa chỉ gửi thư của người dùng theo quy định và băm chúng bằng thuật toán SHA-256.
  3. Định cấu hình ConversionAdjustment:
    a. Gán order_id cho mã đơn hàng của lượt chuyển đổi cần điều chỉnh. Mã này cần khớp với đơn hàng được nhận dạng bởi thẻ Google Ads.
    b. Thêm user_identifiers bằng các giá trị nhận dạng người dùng đã chuẩn hoá và băm. Nếu có nhiều người dùng, hãy tạo tối đa 5 UserIdentifier cho mỗi mã đơn hàng.
    c. Đặt adjustment_type thành ENHANCEMENT để xác định đây là lượt chuyển đổi nâng cao.
    d. Gán conversion_action thành tên tài nguyên của ConversionAction có loại là WEBPAGE. Tên này phải khớp với tài nguyên mà bạn đã tạo khi thiết lập ban đầu.
    e. (Tuỳ chọn) Cung cấp gclid_date_time_pair để có kết quả đo lường chính xác hơn. Định dạng ngày giờ theo chuẩn yyyy-mm-dd HH:mm

    +|-HH

    , ví dụ: 2022-01-01 19:32:45-05:00.
    f. (Tuỳ chọn) Thiết lập user_agent để đảm bảo rằng cả lượt chuyển đổi ban đầu và lượt chuyển đổi nâng cao đều được ghi nhận trên cùng một thiết bị hoặc trên nhiều thiết bị.

  4. Tải dữ liệu lên ConversionAdjustmentUploadService:
    Cấu hình partial_failure thành true để quá trình tải dữ liệu diễn ra an toàn và không gây gián đoạn trong trường hợp có lỗi phát sinh.

Lưu ý quan trọng: Dữ liệu phải được tải lên trong vòng 24 giờ kể từ thời điểm lượt chuyển đổi xảy ra. Để tránh sự cố, hãy tải dữ liệu ít nhất vài phút trước khi kết thúc khoảng thời gian 24 giờ nhằm tránh bất kỳ vấn đề phát sinh nào do sai lệch về thời gian hệ thống.

  1. Xem xét tệp tải lên: Sau khi hoàn tất, hãy kiểm tra lại dữ liệu đã tải lên để đảm bảo tính toàn vẹn và khớp với hệ thống theo dõi của Google Ads.

Các phương pháp hay nhất

Kiểm tra mã nhận dạng khách hàng

Khi tải lượt chuyển đổi nâng cao lên, mã khách hàng phải được liên kết đúng với tài khoản thực hiện hành động chuyển đổi và theo dõi chuyển đổi. Để đảm bảo điều này, hãy thực hiện truy vấn tài nguyên ConversionTrackingSetting của Google Ads Customer thông qua GoogleAdsService.SearchStream để xác minh giá trị google_ads_conversion_customer. Dưới đây là truy vấn mẫu:

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;

Đặt customer_id bằng với giá trị google_ads_conversion_customer trong các yêu cầu tải lượt chuyển đổi.

Cung cấp nhiều giá trị nhận dạng (nếu có)

Nếu bạn có giá trị GCLID cho một lượt chuyển đổi, hãy gửi GCLID này cùng với các giá trị user_identifiers để nâng cao khả năng khớp dữ liệu. Trong trường hợp có nhiều hơn một UserIdentifier cho một lượt chuyển đổi, việc gửi nhiều cột giá trị nhận dạng sẽ giúp cải thiện hiệu suất đối sánh. Tất cả các giá trị nhận dạng nên được đưa vào cùng một đối tượng ConversionAdjustment.

Xử lý các lỗi không thành công một phần khi tích hợp

Trong quá trình triển khai lần đầu tiên tính năng lượt chuyển đổi nâng cao, bạn có thể gặp phải lỗi không thành công một phần (partial_failure_error) trong phản hồi từ hệ thống. Hãy kiểm tra và xử lý các lỗi này để đảm bảo tích hợp thành công. Để có thêm thông tin chi tiết và các ví dụ về cách xử lý lỗi một phần, bạn có thể tham khảo tài liệu hướng dẫn của Google Ads API về lỗi không thành công một phần.

Sau khi xử lý xong tất cả các lỗi và hoàn tất quá trình tích hợp, hãy sử dụng tính năng chẩn đoán dữ liệu ngoại tuyến thường xuyên để theo dõi tình trạng của lượt chuyển đổi.

Tạo nhiều mức điều chỉnh trong một yêu cầu

Nếu bạn có nhiều điều chỉnh cần thực hiện, thay vì gửi nhiều yêu cầu riêng lẻ, hãy nhóm tất cả các điều chỉnh thành một yêu cầu UploadConversionAdjustmentsRequest. Điều này giúp tối ưu hóa quá trình tải dữ liệu và giảm thiểu thời gian xử lý.

Khi gửi nhiều điều chỉnh, hãy kiểm tra hạn mức cho số lượng điều chỉnh tối đa được phép trong một yêu cầu. Để dễ dàng theo dõi dữ liệu, nếu bạn muốn nhóm các yêu cầu cùng thuộc một logic công việc, hãy đặt giá trị job_id giống nhau cho tất cả các yêu cầu liên quan. Điều này sẽ giúp quản lý và theo dõi dữ liệu tốt hơn trong quá trình chẩn đoán ngoại tuyến.

Chuẩn bị dữ liệu trước khi tải lên trong Google Ads

Để đảm bảo tính bảo mật và quyền riêng tư, tất cả dữ liệu cá nhân sau đây phải được băm bằng thuật toán SHA-256 trước khi tải lên hệ thống Google Ads:

  • Địa chỉ email
  • Số điện thoại
  • Tên
  • Họ
  • Địa chỉ đường phố

Tuy nhiên, các trường thông tin sau không cần băm trước khi tải lên:

  • Quốc gia
  • Tiểu bang
  • Thành phố
  • Mã vùng

Quy trình chuẩn hoá trước khi băm dữ liệu

Trước khi băm dữ liệu, bạn cần thực hiện các bước chuẩn hoá sau để đảm bảo tính nhất quán và hiệu quả:

  1. Xóa khoảng trắng ở đầu và cuối của dữ liệu.
  2. Chuyển đổi toàn bộ nội dung văn bản thành chữ thường.
  3. Định dạng số điện thoại theo chuẩn E164.
  4. Đối với địa chỉ email có tên miền gmail.com hoặc googlemail.com, hãy xóa mọi dấu chấm (.) trước phần tên miền.
private String normalizeAndHash(MessageDigest digest, String s, boolean trimIntermediateSpaces)
throws UnsupportedEncodingException {
// Chuẩn hoá chuỗi bằng cách chuyển tất cả các ký tự thành chữ thường và loại bỏ khoảng trắng.
String normalized = s.toLowerCase();
if (trimIntermediateSpaces) {
// Xoá các khoảng trắng giữa các từ, ngoài việc xóa khoảng trắng đầu và cuối.
normalized = normalized.replaceAll("\\s+", "");
} else {
// Chỉ xóa khoảng trắng ở đầu và cuối chuỗi.
normalized = normalized.trim();
}
// Băm chuỗi đã chuẩn hóa sử dụng thuật toán SHA-256.
byte[] hash = digest.digest(normalized.getBytes("UTF-8"));
StringBuilder result = new StringBuilder();
for (byte b : hash) {
result.append(String.format("%02x", b));
}
return result.toString();
}
private String normalizeAndHashEmailAddress(MessageDigest digest, String emailAddress)
throws UnsupportedEncodingException {
String normalizedEmail = emailAddress.toLowerCase();
String[] emailParts = normalizedEmail.split("@");
if (emailParts.length > 1 && emailParts[1].matches("^(gmail|googlemail)\\.com\\s*")) {
// Xoá mọi dấu chấm trước phần tên miền nếu tên miền là gmail.com hoặc googlemail.com.
emailParts[0] = emailParts[0].replaceAll("\\.", "");
normalizedEmail = String.format("%s@%s", emailParts[0], emailParts[1]);
}
return normalizeAndHash(digest, normalizedEmail, true);
}

Tải dữ liệu chuyển đổi nâng cao lên Google Ads

Lưu ý: Khi thực hiện tải lượt chuyển đổi nâng cao (enhanced conversion) lên, mọi giá trị restatement_value sẽ bị bỏ qua. Nếu bạn cần điều chỉnh giá trị của một lượt chuyển đổi, hãy tạo một thao tác riêng với thuộc tính adjustment_type được đặt thành RESTATEMENT. Điều này đảm bảo rằng hệ thống nhận dạng đúng các thay đổi cần thiết. Tham khảo thêm tài liệu về việc điều chỉnh lượt chuyển đổi để biết thêm chi tiết.

Dưới đây là ví dụ về việc tạo một điều chỉnh nâng cao, bao gồm mã đơn hàng cùng các giá trị nhận dạng của người dùng như địa chỉ email, số điện thoại và địa chỉ gửi thư, tất cả đã được chuẩn hoá và băm theo yêu cầu. Theo phương pháp tốt nhất, bạn nên thêm thông tin GCLID vào phần điều chỉnh nếu có.

Thêm giá trị nhận dạng người dùng vào lượt chuyển đổi nâng cao

// Tạo đối tượng builder cho điều chỉnh nâng cao.
ConversionAdjustment.Builder enhancementBuilder =
ConversionAdjustment.newBuilder().setAdjustmentType(ConversionAdjustmentType.ENHANCEMENT);
// Trích xuất thông tin email, số điện thoại và địa chỉ từ dữ liệu thô, chuẩn hoá và băm chúng,
// sau đó đóng gói vào các đối tượng UserIdentifier.
// Tạo một UserIdentifier riêng cho mỗi loại dữ liệu nhận dạng. Trong ví dụ này, dữ liệu là cứng mã hoá,
// nhưng trong thực tế bạn có thể đọc từ tệp đầu vào.
Map<String, String> rawRecord =
ImmutableMap.<String, String>builder()
.put(“email”, “alex.2@example.com”)
.put(“firstName”, “Alex”)
.put(“lastName”, “Quinn”)
.put(“countryCode”, “US”)
.put(“postalCode”, “94045”)
.put(“phone”, “+1 800 5550102”)
.put(“orderId”, orderId)
.put(“conversionActionId”, Long.toString(conversionActionId))
.put(“conversionDateTime”, conversionDateTime)
.put(“currencyCode”, “USD”)
.put(“userAgent”, userAgent)
.build();// Tạo một SHA256 digest để băm dữ liệu người dùng theo cách an toàn cho quyền riêng tư.
MessageDigest sha256Digest = MessageDigest.getInstance(“SHA-256”);

// Tạo danh sách các giá trị nhận dạng người dùng.
List<UserIdentifier> userIdentifiers = new ArrayList<>();

// Tạo đối tượng UserIdentifier sử dụng địa chỉ email đã băm, với phương pháp chuẩn hoá và băm dành riêng cho email.
UserIdentifier emailIdentifier =
UserIdentifier.newBuilder()
.setUserIdentifierSource(UserIdentifierSource.FIRST_PARTY)
.setHashedEmail(normalizeAndHashEmailAddress(sha256Digest, rawRecord.get(“email”)))
.build();
userIdentifiers.add(emailIdentifier);

// Kiểm tra xem có số điện thoại hay không, nếu có, thêm UserIdentifier cho số điện thoại đó.
if (rawRecord.containsKey(“phone”)) {
UserIdentifier hashedPhoneNumberIdentifier =
UserIdentifier.newBuilder()
.setHashedPhoneNumber(normalizeAndHash(sha256Digest, rawRecord.get(“phone”), true))
.build();
userIdentifiers.add(hashedPhoneNumberIdentifier);
}

// Kiểm tra xem có đủ các phần tử của địa chỉ gửi thư hay không, nếu có, thêm UserIdentifier cho địa chỉ.
if (rawRecord.containsKey(“firstName”)) {
Set<String> missingAddressKeys = new HashSet<>();
for (String addressKey : new String[] {“lastName”, “countryCode”, “postalCode”}) {
if (!rawRecord.containsKey(addressKey)) {
missingAddressKeys.add(addressKey);
}
}

if (missingAddressKeys.isEmpty()) {
OfflineUserAddressInfo addressInfo =
OfflineUserAddressInfo.newBuilder()
.setHashedFirstName(normalizeAndHash(sha256Digest, rawRecord.get(“firstName”), false))
.setHashedLastName(normalizeAndHash(sha256Digest, rawRecord.get(“lastName”), false))
.setCountryCode(rawRecord.get(“countryCode”))
.setPostalCode(rawRecord.get(“postalCode”))
.build();
UserIdentifier addressIdentifier =
UserIdentifier.newBuilder().setAddressInfo(addressInfo).build();
userIdentifiers.add(addressIdentifier);
} else {
System.out.printf(“Thiếu các khóa địa chỉ bắt buộc: %s%n”, missingAddressKeys);
}
}

// Thêm tất cả các giá trị nhận dạng vào đối tượng điều chỉnh nâng cao.
enhancementBuilder.addAllUserIdentifiers(userIdentifiers);

Thêm thông tin chi tiết về lượt chuyển đổi vào mức điều chỉnh trong Google Ads

// Thiết lập hành động chuyển đổi.
// Đảm bảo rằng conversionActionId được truyền vào từ bản ghi thô của dữ liệu chuyển đổi.
enhancementBuilder.setConversionAction(
ResourceNames.conversionAction(
customerId, Long.parseLong(rawRecord.get("conversionActionId"))));
// Thiết lập mã đơn hàng. Hành động điều chỉnh nâng cao bắt buộc phải sử dụng mã đơn hàng thay vì GCLID date/time.
enhancementBuilder.setOrderId(rawRecord.get(“orderId”));// Thiết lập ngày và giờ chuyển đổi (nếu có). Mặc dù không bắt buộc, việc cung cấp giá trị này sẽ giúp cải thiện độ chính xác của dữ liệu.
if (rawRecord.get(“conversionDateTime”) != null) {
enhancementBuilder.setGclidDateTimePair(
GclidDateTimePair.newBuilder()
.setConversionDateTime(rawRecord.get(“conversionDateTime”)));
}

// Thiết lập user agent (nếu có). Thông tin này nên khớp với user agent của yêu cầu gốc đã gửi lượt chuyển đổi.
// Điều này giúp đảm bảo lượt chuyển đổi và điều chỉnh nâng cao đều được phân bổ chính xác trên cùng một thiết bị
// hoặc trên nhiều thiết bị.
if (rawRecord.get(“userAgent”) != null) {
enhancementBuilder.setUserAgent(rawRecord.get(“userAgent”));
}

Tải dữ liệu điều chỉnh lượt chuyển đổi lên

// Tạo client cho dịch vụ tải lên điều chỉnh chuyển đổi.
try (ConversionAdjustmentUploadServiceClient conversionUploadServiceClient =
googleAdsClient.getLatestVersion().createConversionAdjustmentUploadServiceClient()) {
// Tải điều chỉnh nâng cao lên. Lưu ý rằng partialFailure luôn được đặt thành true để xử lý các lỗi phát sinh mà không làm gián đoạn toàn bộ yêu cầu.
UploadConversionAdjustmentsResponse response =
conversionUploadServiceClient.uploadConversionAdjustments(
UploadConversionAdjustmentsRequest.newBuilder()
.setCustomerId(Long.toString(customerId))
.addConversionAdjustments(enhancementBuilder)
// Bật tính năng partial failure (phải luôn đặt thành true).
.setPartialFailure(true)
.build());
}

Xem lại các tệp chuyển đổi đã tải lên trong Google Ads

Sau khi tải các lượt chuyển đổi nâng cao lên, bạn nên sử dụng tính năng chẩn đoán dữ liệu ngoại tuyến để đánh giá tổng thể trạng thái của các tệp đã tải lên. Điều này giúp bạn xác định xem quá trình tải lên có thành công và liệu dữ liệu đã được xử lý chính xác hay chưa. Hãy lưu ý rằng việc tải lên thành công không đồng nghĩa với việc tất cả dữ liệu đã được khớp chính xác với các lượt chuyển đổi.

Khi cần báo cáo về các chỉ số chuyển đổi của chiến dịch, bạn có thể tham khảo hướng dẫn liên kết chỉ số người dùng giữa giao diện Google Ads và các trường báo cáo trong API Google Ads. Điều này cho phép bạn theo dõi chính xác các dữ liệu chuyển đổi trực tiếp từ API và đồng bộ chúng với các chỉ số hiển thị trong giao diện người dùng. Ngoài ra, bạn cũng có thể truy vấn tài nguyên conversion_action để lấy thông tin về tổng số lượt chuyển đổi và giá trị chuyển đổi cho một hành động cụ thể. Điều này giúp bạn có cái nhìn toàn diện hơn về hiệu suất của các lượt chuyển đổi trong chiến dịch quảng cáo, đảm bảo rằng các dữ liệu quan trọng đều được ghi nhận chính xác và đầy đủ.

Tính năng lượt chuyển đổi nâng cao trong Google Ads không chỉ giúp nâng cao độ chính xác của việc đo lường kết quả mà còn hỗ trợ doanh nghiệp tận dụng dữ liệu người dùng một cách an toàn và hiệu quả. Việc triển khai đúng quy trình và tuân thủ các phương pháp tối ưu sẽ giúp bạn không chỉ cải thiện hiệu quả của chiến dịch mà còn gia tăng giá trị nhận được từ từng lượt chuyển đổi. Hãy áp dụng các hướng dẫn trên để tối ưu hóa chiến dịch Google Ads của bạn ngay hôm nay.

Facebook
X
LinkedIn
Tumblr
Threads
logo_v4seowebsite

V4SEO là đội ngũ SEO & Web xuất phát từ Nha Trang, triển khai dự án cho doanh nghiệp trên toàn quốc. Chúng tôi cung cấp Dịch vụ SEO Nha Trang theo chuẩn Google, kết hợp kỹ thuật, nội dung và entity để tăng trưởng bền vững. Song song, Dịch vụ thiết kế website Nha Trang tối ưu UX, tốc độ và Core Web Vitals nhằm tối đa chuyển đổi; báo cáo minh bạch, hỗ trợ dài hạn.

Nội dung được sự cố vấn của chuyên gia SEO - Võ Quang Vinh
author-founder-v4seowebsite

Võ Quang Vinh – Chuyên gia SEO với hơn 10 năm kinh nghiệm triển khai hàng trăm dự án SEO tổng thể, từ thương mại điện tử đến dịch vụ địa phương. Từng đảm nhiệm vai trò SEO và là Keymember tại Gobranding và dân dắt đội SEO BachhoaXanh.com, anh là người đứng sau nhiều chiến dịch tăng trưởng traffic vượt bậc. Hiện tại, Vinh là người sáng lập và điều hành V4SEO, cung cấp giải pháp SEO & thiết kế website chuẩn UX/UI giúp doanh nghiệp bứt phá thứ hạng Google và tối ưu chuyển đổi. 

Bài viết liên quan
ĐĂNG KÝ V4SEO NGAY HÔM NAY KHUYẾN MÃI 15% TẤT CẢ DỊCH VỤ ÁP DỤNG TỚI HẾT THÁNG 12/2025

Nhận tư vấn từ V4SEO Đăng ký ngay hôm nay Bứt phá trong mai sau