Theo dõi lượt chuyển đổi

Triển khai

Tóm tắt

Có ba phần trong việc triển khai tính năng theo dõi lượt chuyển đổi:

  • Thu thập rwg_tokenmerchant_id từ điểm truy cập trang đích / ứng dụng.
  • Duy trì rwg_tokenmerchant_id cho thời lượng phân bổ thích hợp.
  • So sánh merchant_idmerchant_id được duy trì tại thời điểm chuyển đổi (đã hoàn tất việc đặt phòng).
  • Gửi một sự kiện chuyển đổi tại thời điểm chuyển đổi (đã hoàn tất lượt đặt phòng).

Việc triển khai tính năng theo dõi lượt chuyển đổi này không yêu cầu bạn phải sử dụng Google Analytics hoặc bất kỳ javascript nào của bên thứ ba khác.

Trước khi bắt đầu triển khai tính năng theo dõi lượt chuyển đổi, bạn nên quyết định xem bạn sẽ theo dõi lượt chuyển đổi ở cấp thiết bị hay cấp người dùng:

  • Cấp thiết bị bao gồm việc sử dụng cookie của trình duyệt, bộ nhớ cục bộ, bộ nhớ cục bộ của ứng dụng hoặc bất kỳ phương thức nào khác có thể duy trì mã thông báo trong thời gian phân bổ 30 ngày. Vì mã thông báo sẽ được lưu trữ cục bộ trên thiết bị của người dùng, nên nếu người dùng thay đổi thiết bị họ đang sử dụng, xoá cookie hoặc bộ nhớ cục bộ của họ, hoặc đang dùng chế độ duyệt web riêng tư hay chế độ ẩn danh, thì sự kiện chuyển đổi có thể không được phân bổ đúng cách. Khi sử dụng tính năng theo dõi lượt chuyển đổi ở cấp thiết bị, bạn phải triển khai lại tính năng này trên mọi nền tảng được hỗ trợ (bao gồm cả thiết bị di động).
  • Cấp người dùng bao gồm việc duy trì dữ liệu đó trong cơ sở dữ liệu ứng dụng của bạn, thông qua hệ thống phân tích phía máy chủ hoặc các hệ thống khác phía máy chủ. Vì mã thông báo sẽ được lưu trữ ở phía máy chủ, nên nếu người dùng thay đổi thiết bị họ đang sử dụng, xoá cookie hay bộ nhớ cục bộ hoặc đang dùng chế độ duyệt web riêng tư hoặc chế độ ẩn danh, thì sự kiện chuyển đổi vẫn được phân bổ sau khi người dùng đăng nhập lại. Khi sử dụng tính năng theo dõi lượt chuyển đổi cấp người dùng, tuỳ thuộc vào cấu trúc hệ thống, bạn có thể triển khai phương thức này một lần ở phía máy chủ và sử dụng lại trên tất cả nền tảng được hỗ trợ.

Đang thu thập rwg_token

Mỗi khi Google hiển thị một action_link mà bạn đã cung cấp thông qua Nguồn cấp dữ liệu, URL đó sẽ được sửa đổi để bao gồm một tham số truy vấn duy nhất: rwg_token. Giá trị rwg_token là một chuỗi được mã hoá, chứa một số siêu dữ liệu về đường liên kết mà người dùng đã nhấp vào nhưng không có dữ liệu người dùng. Bạn nên lưu trữ mã thông báo này và trả về mã này dưới dạng một phần của sự kiện chuyển đổi.

Trên mỗi trang đích / điểm truy cập ứng dụng, bạn phải phân tích cú pháp giá trị đã đặt cho tham số truy vấn rwg_token và lưu trữ giá trị đó. Các yêu cầu để lưu trữ tham số này được mô tả trong bước Duy trì rwg_token.

Dưới đây là ví dụ về cách phân tích cú pháp mã thông báo này để theo dõi ở cấp thiết bị thông qua trình duyệt. Ngoài ra, bạn có thể thu thập mã thông báo này ở phía máy chủ khi phản hồi yêu cầu:

var query = location.search.substring(1);
var params = query.split('&');
var rwgToken = undefined;
for (var i = 0; i < params.length; ++i) {
  var pair = params[i].split('=');
  if (pair[0] == 'rwg_token') {
    rwgToken = decodeURIComponent(pair[1]);
    break;
  }
}

Đang thu thập merchant_id

Nếu triển khai logic theo dõi lượt chuyển đổi trong giao diện người dùng, thì trên trang đích, bạn phải triển khai một tập lệnh tuỳ chỉnh sẽ tìm và ghi lại merchant_id. Thông thường, merchant_id có thể đã xuất hiện trên trang đích hoặc trong URL để bạn có thể thu thập từ đó. Nếu không, bạn phải tìm cách hiển thị mã ở nơi nào đó để mã này có thể xác định và ngụ ý các thay đổi trong phần phụ trợ.

Nếu triển khai logic theo dõi lượt chuyển đổi trong phần phụ trợ, bạn có thể tìm thấy merchant_id cùng với dữ liệu truy vấn hệ thống nội bộ của bạn để tạo trang giao diện người dùng.

merchant_id này phải giống với mã bạn đã chia sẻ với Google trong nguồn cấp dữ liệu của mình.

Duy trì rwg_tokenmerchant_id

Bạn sẽ phải duy trì tham số URL rwg_token (sẽ được thêm vào tất cả các đường liên kết hành động do bạn cung cấp) trong tổng thời gian 30 ngày. Giá trị của rwg_token phải được lưu trữ và trả về mà không chỉnh sửa bất kỳ nội dung nào.

Cùng với rwg_token, bạn cần lưu trữ merchant_id liên kết với đường liên kết hành động.

Nếu vẫn còn mã thông báo từ lần truy cập trước, thì bạn nên thay thế rwg_tokenmerchant_id trước đó cũng như đặt lại khoảng thời gian 30 ngày đối với bộ nhớ.

Khi duy trì cặp trên, bạn có thể lưu trữ các giá trị ở cấp thiết bị hoặc ở cấp người dùng:

  • Cấp thiết bị bao gồm việc sử dụng cookie của trình duyệt, bộ nhớ cục bộ, bộ nhớ cục bộ của ứng dụng hoặc bất kỳ phương thức nào khác có thể duy trì mã thông báo trong thời gian phân bổ 30 ngày.
  • Cấp người dùng bao gồm việc duy trì dữ liệu đó trong cơ sở dữ liệu ứng dụng của bạn, thông qua hệ thống phân tích phía máy chủ hoặc các hệ thống khác phía máy chủ.

Dưới đây là ví dụ về tính năng theo dõi lượt chuyển đổi cấp thiết bị, lưu trữ các giá trị này trong trình duyệt web bằng cách sử dụng cookie của bên thứ nhất. Ví dụ này giả định bạn đã phân tích cú pháp giá trị mã thông báo thành một biến như trong ví dụ trên. Để dùng ví dụ này, bạn cần cập nhật rootdomain.com cho miền của mình.

if (typeof rwg_token !== 'undefined') {
  document.cookie =
  "_rwg_token=" + rwg_token + ";_merchant_id=" + merchantid + ";max-age=2592000;domain=rootdomain.com;path=/";
}

Khi sử dụng tính năng theo dõi lượt chuyển đổi cấp người dùng, rwg_token + merchant_id phải được lưu trữ trên máy chủ và liên kết với người dùng.

Đang gửi dữ liệu lượt chuyển đổi

Khi người dùng hoàn tất một giao dịch được phân bổ cho một đường liên kết đến Hành động tại địa điểm của Google, bạn phải gửi yêu cầu POST qua HTTP tới điểm cuối chuyển đổi. Có hai điểm cuối, một dành cho môi trường phát hành chính thức và một dành cho môi trường hộp cát.

  • Sản xuất: https://www.google.com/maps/conversion/collect
  • Hộp cát: https://www.google.com/maps/conversion/debug/collect

Nội dung bài đăng phải là đối tượng mã hoá JSON theo định dạng:

{
  "conversion_partner_id": <partnerId>,
  "rwg_token": <rwg_token_val>,
  "merchant_changed": 1|2
}

Ví dụ (người bán không thay đổi có mã thông báo thử nghiệm cho đối tác 20123456):

{
  "conversion_partner_id": 20123456,
  "rwg_token": "AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ",
  "merchant_changed": 2
}

Giá trị merchant_ thay đổi được dùng để xác định xem người bán đã bị thay đổi từ người bán chuyển hướng ban đầu hay chưa. Có hai giá trị có thể được chuyển

Giá trị thay đổi của người bán Yêu cầu
1 Bạn nên sử dụng giá trị này khi người dùng đã rời khỏi trang web của người bán ban đầu và hoàn tất một giao dịch mua hàng thông qua nền tảng của bạn với một người bán khác
2 Bạn nên sử dụng giá trị này khi khách hàng hoàn tất giao dịch thông qua Thực thể (Người bán) ban đầu.

Trong cả môi trường hộp cát và môi trường thực tế, bạn đều phải cung cấp rwg_token hợp lệ khi gửi sự kiện chuyển đổi. Đối với mục đích kiểm thử, hãy sử dụng mã thông báo kiểm thử sau trong cả hai môi trường cho đến khi bạn khởi chạy:

AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==

Dưới đây là một ví dụ đầy đủ về tính năng theo dõi lượt chuyển đổi ở cấp thiết bị (sử dụng cookie trên thiết bị của người dùng) trong javascript về cách tạo yêu cầu bài đăng này:

const partnerId = XXXXXXXXXX;

const endpoint = `https://www.google.com/maps/conversion/collect`;

const rwgTokenCookie = document.cookie
  .split('; ')
  .find(row => row.startsWith('_rwg_token='));

if (typeof rwgTokenCookie !== 'undefined') {
  const rwgTokenVal = rwgTokenCookie.split('=')[1];
  fetch(endpoint, {
    method: "POST",
    body: JSON.stringify({
      conversion_partner_id: partnerId,
      rwg_token: rwgTokenVal,
      merchant_changed: merchantChanged
    })
  });
}

Khi sử dụng tính năng theo dõi lượt chuyển đổi cấp người dùng, bạn nên truy xuất mã thông báo liên kết với người dùng (bất kể họ trên nền tảng nào) từ cơ chế lưu trữ phía máy chủ và gửi mã thông báo bằng cách sử dụng cùng một điểm cuối của môi trường hộp cát hoặc sản xuất.

Yêu cầu về mô hình phân bổ lượt chuyển đổi

Tiêu chuẩn bắt buộc của Google đối với việc phân bổ lượt chuyển đổi là thời lượng phân bổ 30 ngày cho bất kỳ lượt tương tác nào với một đường liên kết đến địa điểm, tại bất kỳ cửa hàng nào.

Khoảng thời gian phân bổ này có nghĩa là Google dự kiến sẽ gửi một sự kiện chuyển đổi trong bất kỳ trường hợp nào sau đây:

  • Người dùng nhấp vào đường liên kết hành động liên quan đến địa điểm và đặt hàng cho cùng một người bán trong cùng một phiên. (Giá trị thay đổi của người bán = 2 )
  • Người dùng truy cập vào đường liên kết đến hành động liên quan đến địa điểm, sau đó quay lại từ một kênh khác trong khoảng thời gian 30 ngày để đặt hàng cho cùng một người bán. (Giá trị thay đổi của người bán = 2 )
  • Người dùng truy cập vào một đường liên kết đến hành động liên quan đến địa điểm rồi đặt hàng tại một cửa hàng khác, trong cùng một phiên hoặc một phiên khác trong khoảng thời gian 30 ngày. ( Giá trị thay đổi của người bán = 1 )

Ngoài ra, Google muốn các sự kiện chuyển đổi sẽ được gửi từ tất cả nền tảng mà người dùng có thể truy cập từ một đường liên kết hành động liên quan đến địa điểm. Bao gồm cả:

  • Ứng dụng web dành cho máy tính hoặc thiết bị di động
  • Ứng dụng dành cho thiết bị di động, thông qua một đường liên kết sâu của ứng dụng hoặc một ý định trong ứng dụng đã đăng ký cho miền của bạn

Nếu mã thông báo được lưu trữ ở cấp người dùng (xem cách duy trì mã thông báo), thì bạn sẽ cần cung cấp mô hình phân bổ trên nhiều thiết bị. Tức là một người dùng truy cập vào một đường liên kết hành động trên máy tính rồi hoàn tất giao dịch trên thiết bị di động (sử dụng cùng một tài khoản người dùng) sẽ kích hoạt một sự kiện chuyển đổi.

Nếu mã thông báo chỉ được lưu trữ ở cấp thiết bị, chẳng hạn như trong cookie của trình duyệt, thì bạn không thể cung cấp mô hình phân bổ trên nhiều thiết bị. Trong trường hợp này, mỗi thiết bị sẽ có một mã thông báo riêng biệt được duy trì nếu người dùng đã theo một đường liên kết hành động trên thiết bị đó, và mỗi thiết bị sẽ tuân theo các quy tắc phân bổ một cách riêng biệt.