Khoá tổng hợp là gì, cách sử dụng khoá đó trong Attribution Reporting API và cách bạn có thể chuyển mục tiêu thành khoá.
Là một công ty công nghệ quảng cáo chạy các chiến dịch ở nhiều địa điểm cho nhiều danh mục sản phẩm, bạn muốn giúp nhà quảng cáo trả lời những câu hỏi sau:
- Mỗi chiến dịch của tôi ở mỗi khu vực địa lý đã tạo ra bao nhiêu giao dịch mua cho mỗi danh mục sản phẩm?
- Mỗi chiến dịch của tôi ở từng khu vực địa lý đã tạo ra bao nhiêu doanh thu cho từng danh mục sản phẩm?
Mặc dù nhiều công ty về công nghệ quảng cáo khuyến khích nhà quảng cáo định cấu hình nhiều loại chuyển đổi, nhưng việc tập trung vào các lượt chuyển đổi quan trọng nhất (như lượt mua hàng) là cách tốt để đảm bảo rằng kết quả tóm tắt chi tiết và chính xác cho những sự kiện quan trọng này.
Để làm như vậy, bạn cần suy nghĩ xem mình muốn trả lời những câu hỏi nào trước khi dữ liệu được thu thập.
Phương diện, khoá và giá trị
Để trả lời các câu hỏi này, hãy cùng tìm hiểu phương diện, khoá và giá trị.
Kích thước
Để hiểu cách chiến dịch của bạn tạo ra doanh thu, như được mô tả ở đây, bạn sẽ cần theo dõi các phương diện sau:
- Mã chiến dịch quảng cáo: giá trị nhận dạng của chiến dịch cụ thể.
- Mã địa lý: khu vực địa lý nơi quảng cáo được phân phát.
- Danh mục sản phẩm: loại sản phẩm như bạn đã xác định.
Mặc dù phương diện Mã chiến dịch và Mã địa lý được xác định khi quảng cáo được phân phát (thời gian phân phát quảng cáo), nhưng hệ thống sẽ biết danh mục Sản phẩm từ sự kiện kích hoạt khi người dùng hoàn tất một lượt chuyển đổi (thời gian chuyển đổi).
Các phương diện bạn muốn theo dõi cho ví dụ này được thể hiện trong hình sau:
![Mã chiến dịch, Mã vị trí địa lý và danh mục sản phẩm.](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/campaign-id-geography-id-223ed5327b057.png?authuser=7&hl=vi)
Khoá tổng hợp (bộ chứa) là gì?
Các thuật ngữ khoá tổng hợp và bộ chứa có cùng ý nghĩa. Khoá tổng hợp được dùng trong các API trình duyệt dùng để định cấu hình báo cáo. Thuật ngữ bộ chứa được dùng trong các báo cáo tổng hợp và báo cáo tóm tắt, cũng như trong API dịch vụ tổng hợp.
Khoá tổng hợp (viết tắt là khoá) là một phần dữ liệu đại diện cho giá trị của những phương diện đang được theo dõi. Sau đó, dữ liệu được tổng hợp dọc theo từng khoá tổng hợp.
Ví dụ: giả sử bạn đang theo dõi các phương diện Danh mục sản phẩm, Mã địa lý và Mã chiến dịch.
Khi người dùng ở Mã chiến dịch 7 nhìn thấy quảng cáo cho Mã chiến dịch 12 và sau đó chuyển đổi bằng cách mua sản phẩm trong Danh mục sản phẩm 25, bạn có thể đặt khoá tổng hợp giống như khoá trong hình sau:
![Khoá tổng hợp cho lượt chuyển đổi.](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/aggregation-key-a-conver-0cd37e4079fee.png?authuser=7&hl=vi)
Bạn sẽ thấy sau này một khoá tổng hợp trông không giống hệt như vậy trong thực tế, nhưng bây giờ, hãy tập trung vào thông tin có trong khoá đó.
Các giá trị tổng hợp là gì?
Để trả lời câu hỏi của bạn về các tham số chúng tôi đã nêu, bạn cần biết:
- Số giao dịch mua hàng (số giao dịch mua). Sau khi được tổng hợp và có trong báo cáo tóm tắt, đây sẽ là tổng số giao dịch mua (giá trị tóm tắt).
- Doanh thu của mỗi giao dịch mua (giá trị giao dịch mua). Sau khi được tổng hợp và có trong báo cáo tóm tắt, đây sẽ là tổng doanh thu (giá trị tóm tắt).
Mỗi chỉ số này—số giao dịch mua cho một lượt chuyển đổi và giá trị giao dịch mua cho một lượt chuyển đổi—là giá trị tổng hợp. Bạn có thể coi các giá trị tổng hợp là giá trị cho các mục tiêu đo lường.
Câu hỏi | Giá trị tổng hợp = Mục tiêu đo lường |
---|---|
Số lượng giao dịch mua... | Số lượt mua hàng |
Doanh thu... | Giá trị giao dịch mua |
Khi người dùng ở Mã chiến dịch 7 nhìn thấy một quảng cáo cho Mã chiến dịch 12, sau đó chuyển đổi bằng cách mua một sản phẩm thuộc Danh mục sản phẩm 25 với giá 120 đô la Mỹ (giả sử đơn vị tiền tệ của bạn là đô la Mỹ), bạn có thể đặt khoá tổng hợp và các giá trị tổng hợp như sau:
![Khoá và giá trị tổng hợp.](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/aggregation-keys-values-912b4f69661bd.png?authuser=7&hl=vi)
Các giá trị tổng hợp được tổng hợp cho mỗi khoá trên nhiều người dùng để tạo thông tin chi tiết tổng hợp, dưới dạng giá trị tóm tắt trong các báo cáo tóm tắt.
![Đang tạo thông tin chi tiết tổng hợp.](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/generating-aggregated-ins-e7ef89ea0a238.png?authuser=7&hl=vi)
Các giá trị tổng hợp được tổng hợp để tạo thông tin chi tiết tổng hợp cho các mục tiêu đo lường của bạn.
Lưu ý rằng sơ đồ này bỏ qua bước giải mã và trình bày một ví dụ đơn giản mà không áp dụng gây nhiễu. Trong phần tiếp theo, chúng ta sẽ trình bày ví dụ này bằng dữ liệu nhiễu.
Từ khoá và giá trị đến báo cáo
Bây giờ, hãy cùng thảo luận về mối liên hệ giữa các khoá và giá trị tổng hợp với báo cáo.
Các báo cáo tổng hợp
Khi người dùng nhấp hoặc xem quảng cáo và sau đó chuyển đổi, bạn hướng dẫn trình duyệt lưu trữ cặp {khoá tổng hợp, giá trị tổng hợp}.
Trong ví dụ của chúng tôi, khi người dùng nhấp hoặc xem quảng cáo, sau đó chuyển đổi, bạn hướng dẫn trình duyệt tạo hai nội dung đóng góp (một nội dung cho mỗi mục tiêu đo lường).
![Đang tạo 2 nội dung đóng góp.](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/generating-contributions-fa8bc97295bc7.png?authuser=7&hl=vi)
Bạn sẽ thấy sau này một báo cáo tổng hợp {khoá tổng hợp, giá trị tổng hợp} không giống hệt như vậy — nhưng bây giờ, hãy cùng tập trung vào thông tin có trong báo cáo.
Khi bạn hướng dẫn trình duyệt tạo hai lượt đóng góp, trình duyệt sẽ tạo một báo cáo tổng hợp (nếu có thể so khớp lượt chuyển đổi với một lượt xem hoặc lượt nhấp trước đó).
Một báo cáo tổng hợp chứa:
- (Các) nội dung đóng góp mà bạn đã thiết lập.
- Siêu dữ liệu về sự kiện nhấp hoặc xem và sự kiện chuyển đổi: trang web xảy ra lượt chuyển đổi, v.v. Xem tất cả các trường trong một báo cáo tổng hợp.
![Báo cáo tổng hợp thu được.](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/the-resulting-aggregatabl-3df86364f7725.png?authuser=7&hl=vi)
Báo cáo tổng hợp có định dạng JSON và bao gồm một trường tải trọng, ngoài ra còn có một trường tải trọng được dùng làm dữ liệu đầu vào cho báo cáo tóm tắt cuối cùng.
Tải trọng chứa danh sách các lượt đóng góp, mỗi lượt là một cặp {khoá tổng hợp, giá trị tổng hợp}:
bucket
: khoá tổng hợp, được mã hoá dưới dạng chuỗi byte.value
: giá trị tổng hợp cho mục tiêu đo lường đó, được mã hoá dưới dạng chuỗi byte.
Ví dụ:
{
"data": [
{
"bucket": "111001001",
"value": "11111010000",
}
],
"operation": "histogram"
}
Trong thực tế, báo cáo tổng hợp được mã hoá theo cách khiến các nhóm và giá trị trông khác so với trong ví dụ trước (nghĩa là nhóm có thể trông giống như \u0000\u0000\x80\u0000
). Nhóm và giá trị đều là chuỗi byte.
Báo cáo tóm tắt
Các báo cáo tổng hợp được tổng hợp trên nhiều trình duyệt và thiết bị (người dùng) như sau:
- Một công nghệ quảng cáo yêu cầu các báo cáo tóm tắt cho một tập hợp các khoá nhất định và một tập hợp các báo cáo tổng hợp nhất định đến từ nhiều trình duyệt (người dùng).
- Các báo cáo tổng hợp được giải mã bằng dịch vụ tổng hợp.
- Đối với mỗi khoá, các giá trị tổng hợp từ các báo cáo tổng hợp sẽ được cộng lại.
- Tiếng ồn được thêm vào giá trị tóm tắt.
![Báo cáo tổng hợp cùng với kết quả tổng hợp, giải mã và nhiễu trong một báo cáo tóm tắt.](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/aggregatable-reports-plus-9bd26966f76f7.png?authuser=7&hl=vi)
Kết quả là một báo cáo tóm tắt chứa một tập hợp các cặp {khoá tổng hợp, giá trị tóm tắt}.
Báo cáo tóm tắt chứa một tập hợp các cặp khoá-giá trị kiểu từ điển JSON. Mỗi cặp chứa:
bucket
: khoá tổng hợp, được mã hoá dưới dạng chuỗi byte.value
: giá trị tóm tắt bằng số thập phân cho một mục tiêu đo lường đã cho, được tổng hợp từ tất cả các báo cáo tổng hợp hiện có, kèm theo mức độ nhiễu khác.
Ví dụ:
[
{"bucket": "111001001", "value": "2558500"},
{"bucket": "111101001", "value": "3256211"},
{...}
]
Trong thực tế, báo cáo tóm tắt được mã hoá theo cách sẽ làm cho nhóm và giá trị trông khác với được nêu trong ví dụ (nghĩa là nhóm có thể trông giống như \u0000\u0000\x80\u0000
). Bộ chứa và giá trị đều là chuỗi byte.
Khoá tổng hợp trong thực tế
Khoá tổng hợp (bộ chứa) được một công ty công nghệ quảng cáo xác định, thường theo hai bước: khi người dùng nhấp vào quảng cáo hoặc xem quảng cáo và khi người dùng chuyển đổi.
Cấu trúc chính
Chúng tôi sẽ sử dụng thuật ngữ cấu trúc khoá để chỉ định tập hợp các thứ nguyên được mã hoá thành khoá.
Ví dụ: Mã chiến dịch × GeoID × Danh mục sản phẩm là một cấu trúc chính.
![Cấu trúc khoá.](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/key-structure-17b99e9ad0974.png?authuser=7&hl=vi)
Loại khoá
Các giá trị tổng hợp được tính tổng cho một khoá đã cho trên nhiều người dùng/trình duyệt. Tuy nhiên, chúng ta đã thấy rằng các giá trị tổng hợp có thể theo dõi nhiều mục tiêu đo lường, chẳng hạn như giá trị giao dịch mua hàng hoặc số lượng giao dịch mua. Bạn muốn đảm bảo rằng dịch vụ tổng hợp sẽ tính tổng các giá trị tổng hợp thuộc cùng một loại.
Để làm như vậy, trong mỗi khoá, hãy mã hoá một phần dữ liệu để bạn biết giá trị tóm tắt đại diện cho điều gì (mục tiêu đo lường mà khoá này đang đề cập đến). Một cách để làm việc đó là tạo phương diện bổ sung cho khoá đại diện cho loại mục tiêu đo lường.
Trong ví dụ trước đó, loại mục tiêu đo lường này sẽ có thể có hai giá trị khác nhau:
- Số lượt mua hàng là loại mục tiêu đo lường đầu tiên.
- Giá trị giao dịch mua là loại mục tiêu đo lường thứ hai.
![Mục tiêu đo lường và các loại mục tiêu đo lường.](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/measurement-goals-measur-6f6f8b6468ec3.png?authuser=7&hl=vi)
Nếu bạn có n mục tiêu đo lường, thì loại mục tiêu đo lường sẽ có n loại giá trị khác nhau.
Bạn có thể coi phương diện của khoá là một chỉ số. Ví dụ: "số lượt mua của một sản phẩm nhất định trên mỗi chiến dịch theo khu vực địa lý".
Kích thước khoá, kích thước phương diện
Kích thước khoá tối đa được xác định bằng số bit – số 0 và số trong hệ nhị phân để tạo khoá đầy đủ. API này cho phép độ dài khoá là 128 bit.
Kích thước này cho phép các khoá rất chi tiết, nhưng các khoá chi tiết hơn có nhiều khả năng dẫn đến các giá trị nhiễu hơn. Bạn có thể đọc thêm về tiếng ồn trong bài viết Tìm hiểu về tiếng ồn.
Như đã giới thiệu trước đó, kích thước được mã hoá thành khoá tổng hợp. Mỗi phương diện có một số lượng giá trị riêng biệt nhất định, tức là số lượng giá trị riêng biệt mà phương diện có thể nhận được. Tuỳ thuộc vào số lượng giá trị riêng biệt, mỗi phương diện cần được biểu diễn bằng một số lượng bit nhất định. Với n bit, có thể biểu thị 2n các tuỳ chọn riêng biệt.
Ví dụ: một phương diện Quốc gia có thể có số lượng giá trị riêng biệt là 200, vì có khoảng 200 quốc gia trên thế giới. Cần bao nhiêu bit để mã hoá phương diện này?
7 bit sẽ chỉ lưu trữ 27 = 128 tùy chọn riêng biệt, ít hơn 200 tùy chọn cần thiết.
8 bit sẽ lưu trữ 28 = 256 lựa chọn riêng biệt, nhiều hơn mức 200 cần thiết, vì vậy, bạn có thể sử dụng n=8 bit để mã hoá chiều này.
Mã hoá khoá
Khi bạn đặt các khoá trong trình duyệt, các khoá này phải được mã hoá theo hệ thập lục phân. Trong báo cáo tóm tắt, các khoá sẽ xuất hiện dưới dạng nhị phân (và được đặt tên là nhóm).
Thiết lập hai phần khoá cho một khoá đầy đủ
Giả sử bạn sử dụng một khoá để theo dõi các phương diện sau:
- Mã chiến dịch
- ID khu vực địa lý
- Danh mục sản phẩm
Mặc dù phương diện Mã chiến dịch và Mã địa lý được xác định khi quảng cáo được phân phát (thời gian phân phát quảng cáo), nhưng hệ thống sẽ xác định danh mục sản phẩm từ sự kiện kích hoạt, khi người dùng hoàn tất một lượt chuyển đổi (thời gian chuyển đổi).
Trong thực tế, điều này có nghĩa là bạn sẽ đặt khoá theo hai bước:
- Bạn sẽ đặt một phần của khóa—ID chiến dịch × ID địa lý—tại thời gian nhấp hoặc xem.
- Bạn sẽ đặt phần thứ hai của khoá là Danh mục sản phẩm tại thời điểm chuyển đổi.
Những phần này của khoá được gọi là phần khoá.
Một khoá được tính bằng cách lấy XOR (^
) của các phần khoá.
![Các phần quan trọng XOR.](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/xoring-key-pieces-6c7b39f58a41f.png?authuser=7&hl=vi)
Ví dụ:
- Phần khoá phía nguồn =
0x159
- Phần khoá phía điều kiện kích hoạt =
0x400
- Khoá =
0x159 ^ 0x400 = 0x559
Căn chỉnh các thành phần quan trọng
Với hai phần khoá 64 bit được mở rộng lên 128 bit bằng cách sử dụng các bộ đệm/bù trừ 64 bit được đặt cẩn thận (mười sáu số 0), các phần khoá XOR-ing tương đương với việc nối chúng, dễ hiểu hơn và xác minh:
- Phần khoá phía nguồn =
0xa7e297e7c8c8d0540000000000000000
- Phần khoá phía điều kiện kích hoạt =
0x0000000000000000674fbe308a597271
- Khoá =
0xa7e297e7c8c8d0540000000000000000 ^ 0x0000000000000000674fbe308a597271 = 0xa7e297e7c8c8d054674fbe308a597271
Nhiều khoá cho mỗi lượt nhấp hoặc lượt xem quảng cáo
Trên thực tế, bạn có thể đặt nhiều khoá cho mỗi sự kiện nguồn phân bổ (lượt xem hoặc lượt nhấp vào quảng cáo). Ví dụ: bạn có thể đặt:
- Khoá theo dõi Mã địa lý × Mã chiến dịch.
- Một khoá khác theo dõi Loại mẫu quảng cáo × Mã chiến dịch.
Hãy xem Chiến lược B trong một ví dụ khác.
Mã hoá các phương diện thành khoá
Khi yêu cầu báo cáo tóm tắt, bạn cần cho dịch vụ tổng hợp biết bạn muốn truy cập chỉ số nào, bằng cách yêu cầu báo cáo tóm tắt cho một tập hợp khoá tổng hợp nhất định.
Báo cáo tóm tắt chứa các cặp {khoá, giá trị tóm tắt} thô và không có thông tin bổ sung về khoá. Điều này có nghĩa là:
- Khi đặt khoá khi người dùng xem hoặc nhấp vào quảng cáo rồi chuyển đổi, bạn cần đặt khoá một cách đáng tin cậy dựa trên giá trị của phương diện mà khoá đại diện.
- Khi xác định các khoá mà bạn muốn yêu cầu báo cáo tóm tắt, bạn cần tạo hoặc truy cập nhanh chóng các khoá giống như các khoá được đặt khi người dùng xem hoặc nhấp vào quảng cáo và được chuyển đổi, dựa trên giá trị của phương diện bạn muốn xem dữ liệu tổng hợp.
Mã hoá phương diện bằng bản đồ cấu trúc khoá
Để mã hoá các phương diện thành khoá, bạn có thể tạo và duy trì sơ đồ cấu trúc chính trước, sau khi xác định khoá (trước thời điểm phân phát quảng cáo).
Sơ đồ cấu trúc chính thể hiện từng phương diện và vị trí của chúng trong khoá.
Trong thực tế, việc tạo và duy trì bản đồ cấu trúc khoá có nghĩa là bạn phải triển khai và duy trì logic bộ giải mã. Nếu đang tìm một phương thức không yêu cầu bạn phải làm việc đó, hãy cân nhắc sử dụng phương pháp dựa trên hàm băm.
Ví dụ:
Giả sử bạn dự định theo dõi cả các lượt mua hàng và giá trị mua hàng cho những chiến dịch, khu vực địa lý và sản phẩm cụ thể.
Danh mục sản phẩm, mã khu vực địa lý và mã chiến dịch cần phải là phương diện trong khóa của bạn. Ngoài ra, vì muốn theo dõi hai mục tiêu đo lường khác nhau (số lượt mua hàng và giá trị giao dịch mua), nên bạn cần thêm một phương diện trong khoá để theo dõi loại khoá. Việc này sẽ cho phép bạn xác định giá trị tổng hợp thực sự đại diện cho giá trị tổng hợp nào khi nhận được các cặp {key, tổng hợp giá trị} trong báo cáo tóm tắt.
Với những mục tiêu đo lường này, khoá của bạn sẽ có các phương diện sau:
- Danh mục sản phẩm
- Loại mục tiêu đo lường
- ID khu vực địa lý
- Mã chiến dịch
Bây giờ, khi xem xét mỗi phương diện, giả sử bạn cần theo dõi các yếu tố sau trong trường hợp sử dụng của mình:
- 29 danh mục sản phẩm khác nhau.
- 8 khu vực địa lý: Bắc Mỹ, Trung Mỹ, Nam Mỹ, Châu Âu, Châu Phi, Châu Á, Caribbean và Châu Đại Dương.
- 16 chiến dịch.
Dưới đây là số bit bạn cần để mã hoá từng chiều trong khoá của mình:
- Danh mục sản phẩm: 5 bit (25 = 32 > 29).
- Loại mục tiêu đo lường: 1 bit. Mục tiêu đo lường là số lượt mua hàng hoặc giá trị giao dịch mua, nghĩa là hai khả năng riêng biệt; do đó, chỉ cần một bit là đủ để lưu trữ số liệu này.
Mã địa lý: 3 bit (23 = 8). Bạn cũng sẽ xác định bản đồ thứ nguyên cho Mã vị trí địa lý để biết mỗi giá trị nhị phân đại diện cho khu vực địa lý nào. Bản đồ phương diện cho phương diện Mã địa lý của bạn có thể giống như sau:
Giá trị nhị phân trong khoá Khu vực địa lý 000 Bắc Mỹ 001 Trung Mỹ 010 Nam Mỹ 011 Châu Âu 100 Châu Phi 101 Châu Á 110 Caribbean 111 Châu Đại dương Mã chiến dịch: 4 bit (24 = 16)
Các khoá theo cấu trúc này sẽ có độ dài 13 bit (5 + 1 + 3 + 4).
Trong ví dụ này, sơ đồ cấu trúc khoá cho các khoá này sẽ có dạng như sau:
![Sơ đồ cấu trúc chính.](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/key-structure-map-4664a0905c7de.png?authuser=7&hl=vi)
Thứ tự của các phương diện trong khoá này là tuỳ thuộc vào bạn.
Để minh hoạ cách thứ nguyên tạo nên một cấu trúc chính, chúng ta sẽ sử dụng cách biểu diễn nhị phân, đó là lý do tại sao ID chiến dịch (bit đầu tiên) là phần ở ngoài cùng bên phải và danh mục sản phẩm (bit cuối cùng) là phần ngoài cùng bên trái.
Trong mỗi chiều, bit quan trọng nhất (dữ liệu mang giá trị số lớn nhất) là bit ngoài cùng bên trái. Bit có trọng số ít nhất (số mang giá trị số nhỏ nhất) là bit xa nhất bên phải.
Hãy xem cách sử dụng bản đồ cấu trúc khoá để giải mã khoá.
Hãy lấy 0b1100100111100 làm khoá ví dụ tuỳ ý và giả sử bạn có một cách để biết rằng khoá này tuân theo bản đồ cấu trúc chính trong hình minh hoạ trước.
Theo sơ đồ cấu trúc khoá, khoá này sẽ giải mã thành 11001 0 011 1100
.
Vì vậy, khoá 0b1100100111100 thể hiện số lượt mua hàng thuộc danh mục Sản phẩm 25 cho Mã chiến dịch 12 được ra mắt ở Châu Âu.
Mã hoá phương diện bằng hàm băm
Thay vì sử dụng bản đồ cấu trúc khoá, bạn có thể dùng hàm băm để tự động tạo khoá theo cách nhất quán và đáng tin cậy.
Phương thức này hoạt động như sau:
- Chọn một thuật toán băm.
- Tại thời điểm phân phát quảng cáo, hãy tạo một chuỗi bao gồm tất cả các phương diện bạn muốn theo dõi và giá trị của các phương diện đó. Để tạo phần khoá phía nguồn, hãy băm chuỗi này và cân nhắc thêm hậu tố 64 bit của các số 0 để căn chỉnh với phần khoá phía điều kiện kích hoạt và giúp giải thích về XOR dễ dàng hơn.
- Phần khoá phía nguồn
=<64-bit hex hash("COUNT, campaignID=12, geoID=7"))><64-bit 00000000…>
- Hãy lưu ý rằng
COUNT
mã hoá giống nhưmeasurementGoalType=0
trong phương pháp ánh xạ cấu trúc khoá.COUNT
hơi gọn gàng và rõ ràng hơn.
- Phần khoá phía nguồn
- Tại thời điểm chuyển đổi, hãy tạo một chuỗi bao gồm tất cả các phương diện bạn muốn theo dõi và giá trị của các phương diện đó. Để tạo một phần khoá phía điều kiện kích hoạt, hãy băm chuỗi này rồi thêm một tiền tố 64 bit chứa số 0:
- Phần khoá phía điều kiện kích hoạt
=
<64-bit 00000000…><64-bit hex hash("productCategory=25")>
- Phần khoá phía điều kiện kích hoạt
=
- Trình duyệt XOR các phần khoá này để tạo khoá.
- Khoá tổng hợp 128 bit
=<64-bit hex source-side key piece hash><64-bit hex source-side key piece hash>
- Khoá tổng hợp 128 bit
- Sau này, khi bạn đã sẵn sàng yêu cầu báo cáo tóm tắt cho khoá này, hãy tạo nhanh khoá:
- Dựa trên các phương diện bạn quan tâm, hãy tạo một phần khoá phía nguồn và phía điều kiện kích hoạt như bạn đã làm trước đó.
- Phần khoá phía nguồn
=<64-bit hex hash("COUNT, campaignID=12, geoID=7"))><64-bit 00000000…>
- Phần khoá phía điều kiện kích hoạt
=<64-bit 00000000…><64-bit hex hash("productCategory=25")>
- phần khoá phía điều kiện kích hoạt =
toHex(hash("productCategory=25"))
- Phần khoá phía nguồn
- Giống như trình duyệt, XOR các phần khoá này để tạo cùng một khoá mà trình duyệt đã tạo trước đó.
- Khoá tổng hợp 128 bit
=<64-bit source-side key piece hash><64-bit source-side key piece hash>
- Khoá tổng hợp 128 bit
- Dựa trên các phương diện bạn quan tâm, hãy tạo một phần khoá phía nguồn và phía điều kiện kích hoạt như bạn đã làm trước đó.
Một vài mẹo thiết thực nếu bạn đang sử dụng phương pháp dựa trên hàm băm này:
- Luôn sử dụng cùng một thứ tự của các phương diện. Điều này đảm bảo rằng hàm băm của bạn có thể được tạo lại một cách đáng tin cậy. (
"COUNT, CampaignID=12, GeoID=7"
sẽ không tạo ra cùng một hàm băm như"COUNT, GeoID=7, CampaignID=12"
). Một cách đơn giản để đạt được việc này là sắp xếp các phương diện theo chữ và số. Đây là những gì chúng ta sẽ làm trong ví dụ, ngoại trừ việc chúng ta sẽ luôn đặtCOUNT
hoặcVALUE
làm mục đầu tiên trong thứ nguyên — đây là một lựa chọn để dễ đọc, vìCOUNT
hoặcVALUE
mã hoá thông tin hơi khác về mặt khái niệm so với tất cả các thứ nguyên khác. - Theo dõi tập hợp phương diện bạn đang sử dụng trong khoá. Bạn muốn tránh tạo khoá dựa trên một nhóm phương diện mà bạn chưa bao giờ sử dụng.
- Rất hiếm khi xảy ra xung đột hàm băm nếu bạn sử dụng một hàm băm phù hợp. Tuy nhiên, việc kiểm tra dựa trên các hàm băm đã sử dụng trước đó (cần lưu trữ để diễn giải kết quả từ dịch vụ tổng hợp) có thể tránh được việc tạo khoá mới xung đột với các khoá cũ.
Xem cách sử dụng khoá dựa trên hàm băm trong thực tế trong ví dụ về một lượt chuyển đổi cho mỗi lượt nhấp hoặc chế độ xem.
Các giá trị tổng hợp trong thực tế
Công ty công nghệ quảng cáo đặt các giá trị tổng hợp khi người dùng chuyển đổi.
Để bảo vệ quyền riêng tư của người dùng, mức đóng góp của mỗi người dùng đều có giới hạn trên. Trên tất cả các giá trị tổng hợp được liên kết với một nguồn duy nhất (lượt nhấp vào quảng cáo hoặc lượt xem), không có giá trị nào có thể cao hơn một giới hạn đóng góp nhất định.
Giới hạn này được gọi là CONTRIBUTION_BUDGET
. Trong phần giải thích, hạn mức này được gọi là ngân sách L1, nhưng giống với CONTRIBUTION_BUDGET
.
Để thảo luận chuyên sâu về ngân sách khoản đóng góp, hãy tham khảo bài viết Ngân sách khoản đóng góp trong báo cáo tóm tắt.
Ví dụ: một lượt chuyển đổi trên mỗi lượt nhấp hoặc lượt xem
Đối với ví dụ này, giả sử bạn đang muốn trả lời các câu hỏi sau:
- Danh mục sản phẩm nào có giá trị nhất ở mỗi khu vực?
- Những chiến lược chiến dịch nào có hiệu quả nhất ở mỗi khu vực?
Cũng giả sử rằng đối với trường hợp sử dụng của bạn, bạn cần thông tin chi tiết hằng tuần.
Bạn cũng cần theo dõi những thông tin sau:
- 16 chiến dịch.
- 8 khu vực địa lý: Bắc Mỹ, Trung Mỹ, Nam Mỹ, Châu Âu, Châu Phi, Châu Á, Caribbean và Châu Đại Dương.
- 29 danh mục sản phẩm khác nhau.
Nội dung đánh giá
Mặc dù nhiều công ty về công nghệ quảng cáo khuyến khích nhà quảng cáo định cấu hình nhiều loại chuyển đổi, nhưng việc tập trung vào các lượt chuyển đổi quan trọng nhất như lượt mua hàng là cách tốt để đảm bảo rằng kết quả tổng hợp chi tiết và chính xác cho các sự kiện chuyển đổi quan trọng này. Trên thực tế, bạn đo lường càng nhiều chỉ số, ngân sách đóng góp cho mỗi chỉ số càng nhỏ và do đó, mỗi giá trị có thể càng nhiễu động hơn. Do đó, bạn cần phải lựa chọn cẩn thận những yếu tố cần đo lường.
Trong ví dụ này, chúng ta sẽ tập trung vào những cách thiết lập chiến dịch chỉ đo lường một lượt chuyển đổi cho mỗi lượt nhấp hoặc lượt xem: một lượt mua hàng.
Bạn vẫn sẽ đo lường cả số lượt mua hàng và giá trị giao dịch mua, đồng thời có thể truy cập vào nhiều số liệu thống kê tổng hợp quan trọng, chẳng hạn như tổng giá trị giao dịch mua và thông tin phân tích chi tiết theo địa lý. Việc này giúp giảm độ nhiễu hợp lý và đảm bảo phương pháp mở rộng đơn giản cho ngân sách đóng góp của bạn.
Còn đơn vị tiền tệ thì sao?
Khi chạy chiến dịch ở nhiều khu vực, bạn cần phải tính đến đơn vị tiền tệ. Bạn có thể:
- Đặt đơn vị tiền tệ làm phương diện riêng trong khoá tổng hợp.
- Hoặc dự đoán đơn vị tiền tệ từ ID chiến dịch và chuyển đổi tất cả các đơn vị tiền tệ sang đơn vị tiền tệ tham chiếu.
Trong ví dụ này, chúng tôi sẽ giả định rằng bạn có thể dự đoán đơn vị tiền tệ từ ID chiến dịch. Nhờ đó, bạn có thể quy đổi mọi giá trị giao dịch mua cụ thể từ nội tệ của người dùng sang đơn vị tiền tệ tham chiếu mà bạn chọn. Bạn cũng có thể thực hiện chuyển đổi đó một cách nhanh chóng, khi người dùng mua hàng.
Với kỹ thuật này, tất cả giá trị tổng hợp đều có cùng đơn vị tiền tệ tham chiếu nên có thể được tính tổng để tạo ra tổng giá trị giao dịch mua tổng hợp — một giá trị tóm tắt giao dịch mua.
Chuyển đổi mục tiêu thành chìa khoá
Với các mục tiêu và chỉ số đo lường, bạn có một số lựa chọn cho chiến lược chính của mình. Hãy tập trung vào hai trong số những chiến lược này:
- Chiến lược A: một cấu trúc chính chi tiết.
- Chiến lược B: hai cấu trúc chính tương đối.
Chiến lược A: một cây sâu (một cấu trúc chính chi tiết)
Trong chiến lược A, bạn sử dụng một cấu trúc khoá chi tiết, bao gồm tất cả các phương diện bạn cần:
![Một cấu trúc khoá chi tiết](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/one-granular-key-structur-85e0f0ef579b3.png?authuser=7&hl=vi)
Tất cả khoá của bạn đều sử dụng cấu trúc này.
Bạn chia cấu trúc khoá này thành 2 kiểu chính để hỗ trợ 2 mục tiêu đo lường.
- Loại khoá 0: loại mục tiêu đo lường = 0 mà bạn quyết định xác định là số lượt mua hàng.
- Loại khoá 1: loại mục tiêu đo lường = 1 mà bạn quyết định xác định là giá trị giao dịch mua.
Báo cáo tóm tắt sẽ có dạng như sau:
![Báo cáo tóm tắt Chiến lược A.](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/strategy-summary-report-c13d51d0ef5b.png?authuser=7&hl=vi)
Bạn có thể xem chiến lược A là chiến lược "một cây sâu":
- Mỗi giá trị tóm tắt trong báo cáo tóm tắt sẽ được liên kết với tất cả các phương diện bạn đang theo dõi.
- Bạn có thể tổng hợp các giá trị tóm tắt này cùng với mỗi phương diện trong số này để các dữ liệu tổng hợp này có thể liên quan đến số lượng phương diện mà bạn có.
Với chiến lược A, bạn sẽ trả lời các câu hỏi của mình như sau:
Câu hỏi | Câu trả lời |
---|---|
Danh mục sản phẩm nào có giá trị nhất ở mỗi khu vực? | Tổng hợp số lượng giao dịch mua và giá trị tóm tắt có trong báo cáo tóm tắt, trên tất cả các chiến dịch. Thông tin này cho bạn biết số lượt mua hàng và giá trị theo Mã địa lý × danh mục sản phẩm. Đối với từng khu vực, hãy so sánh giá trị giao dịch mua và số lượng của các danh mục sản phẩm khác nhau. |
Những chiến lược chiến dịch nào có hiệu quả nhất ở mỗi khu vực? | Tổng hợp số lượng giao dịch mua và giá trị tóm tắt có trong báo cáo tóm tắt, trên tất cả danh mục sản phẩm. Thông tin này cho bạn biết số lượt mua hàng và giá trị theo mỗi Mã chiến dịch × Mã địa lý. Đối với từng khu vực, hãy so sánh giá trị giao dịch mua và số lượt mua hàng của các chiến dịch khác nhau. |
Với chiến lược A, bạn cũng có thể trả lời trực tiếp câu hỏi thứ ba sau:
"Mỗi chiến dịch của tôi ở từng khu vực địa lý tạo ra bao nhiêu doanh thu cho mỗi sản phẩm?"
Mặc dù các giá trị tóm tắt sẽ gây nhiễu, nhưng bạn có thể xác định thời điểm sự khác biệt về giá trị được đo lường giữa mỗi chiến dịch không phải là do độ nhiễu. Tìm hiểu cách thực hiện việc này trong bài viết Tìm hiểu về tiếng ồn.
Chiến lược B: hai cây nông (2 cấu trúc chính tương đối)
Trong chiến lược B, bạn sử dụng 2 cấu trúc khoá thô, mỗi cấu trúc bao gồm một tập hợp con các phương diện bạn cần:
![Cấu trúc chính 1 và cấu trúc chính 2.](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/key-structure-1-key-stru-f5313e8766cd6.png?authuser=7&hl=vi)
Bạn chia từng cấu trúc chính này thành 2 loại chính để hỗ trợ 2 mục tiêu đo lường.
- Loại mục tiêu đo lường = 0 mà bạn quyết định xác định là số lượt mua hàng.
- Loại mục tiêu đo lường = 1 mà bạn quyết định xác định làm giá trị giao dịch mua.
Bạn sẽ có 4 loại khoá:
- Loại khoá I-0: Cấu trúc khoá I, số lượng giao dịch mua.
- Loại khoá I-1: Cấu trúc khoá I, giá trị mua hàng.
- Loại khoá II-0: Cấu trúc khoá II, số lượng mua.
- Loại khoá II-1: Cấu trúc khoá II, giá trị mua hàng.
Báo cáo tóm tắt sẽ có dạng như sau:
![Chiến lược báo cáo tóm tắt B.](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/summary-report-strategy-b-a402cebbf58ca.png?authuser=7&hl=vi)
Bạn có thể xem chiến lược B là chiến lược "hai cây nông":
- Các giá trị tóm tắt trong báo cáo tóm tắt liên kết đến một trong hai tập hợp phương diện nhỏ.
- Bạn có thể tổng hợp các giá trị tóm tắt này cùng với mỗi phương diện trong các tập hợp này. Điều này có nghĩa là các dữ liệu tổng hợp này không sâu như trong tuỳ chọn A, vì có ít phương diện để tổng hợp hơn.
Với chiến lược B, bạn sẽ trả lời các câu hỏi của mình như sau:
Câu hỏi | Câu trả lời |
---|---|
Danh mục sản phẩm nào có giá trị nhất ở mỗi khu vực? | Truy cập trực tiếp vào số lượng và giá trị giao dịch mua tóm tắt trong báo cáo tóm tắt. |
Những chiến lược chiến dịch nào có hiệu quả nhất ở mỗi khu vực? | Truy cập trực tiếp vào số lượng và giá trị giao dịch mua tóm tắt trong báo cáo tóm tắt. |
Quyết định: Chiến lược A
Chiến lược A đơn giản hơn; tất cả dữ liệu đều tuân theo cùng một cấu trúc chính, nghĩa là bạn chỉ có một cấu trúc chính để duy trì.
Tuy nhiên, với chiến lược A, bạn cần tổng hợp các giá trị tóm tắt nhận được trong báo cáo tóm tắt để trả lời một số câu hỏi của mình. Mỗi giá trị tóm tắt này sẽ bị nhiễu. Bằng cách tổng hợp dữ liệu đó, bạn cũng sẽ tổng hợp độ nhiễu.
Điều này không đúng với chiến lược B, trong đó các giá trị tóm tắt được hiển thị trong báo cáo tóm tắt đã cung cấp cho bạn thông tin bạn cần. Tức là chiến lược B có thể gây ảnh hưởng ít hơn so với chiến lược A.
Làm thế nào để xác định xem nên sử dụng chiến lược nào? Đối với các nhà quảng cáo hoặc chiến dịch hiện tại, bạn có thể dựa vào dữ liệu trong quá khứ để xác định xem số lượt chuyển đổi phù hợp hơn với chiến lược A hoặc chiến lược B. Tuy nhiên, đối với nhà quảng cáo hoặc chiến dịch mới, bạn có thể quyết định:
- Thu thập dữ liệu trong một tháng bằng các khoá chi tiết (Chiến lược A). Vì bạn đang kéo dài thời lượng thu thập dữ liệu, nên giá trị tóm tắt sẽ cao hơn và độ nhiễu sẽ tương đối thấp hơn.
- Hãy đánh giá với độ chính xác hợp lý về số lượt chuyển đổi hằng tuần và giá trị giao dịch mua.
Trong ví dụ này, giả sử rằng số giao dịch mua và giá trị giao dịch mua hằng tuần đủ cao để chiến lược A dẫn đến tỷ lệ phần trăm độ nhiễu mà bạn cho là chấp nhận được cho trường hợp sử dụng của mình.
Vì chiến lược A đơn giản hơn và dẫn đến tác động nhiễu không ảnh hưởng đến khả năng đưa ra quyết định, nên bạn quyết định sử dụng chiến lược A.
Chọn một thuật toán băm
Bạn quyết định áp dụng phương pháp dựa trên hàm băm để tạo khoá. Để làm như vậy, bạn cần chọn một thuật toán băm để hỗ trợ phương pháp đó.
Giả sử bạn đã chọn SHA-256. Bạn cũng có thể sử dụng một thuật toán đơn giản hơn, kém bảo mật hơn, chẳng hạn như MD5.
Trong trình duyệt: đặt khoá và giá trị
Sau khi đã quyết định về một cấu trúc khoá và thuật toán băm, bạn đã sẵn sàng đăng ký các khoá và giá trị khi người dùng nhấp hoặc xem quảng cáo rồi chuyển đổi.
Tiếp theo là thông tin tổng quan về các tiêu đề mà bạn sẽ đặt để đăng ký khoá và giá trị trong trình duyệt:
![Đăng ký khoá và giá trị cho một lượt xem hoặc lượt nhấp.](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/register-keys-values-a-59763f86a1f19.png?authuser=7&hl=vi)
![Đăng ký khoá và giá trị cho một lượt chuyển đổi.](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/register-keys-values-a-155f081dc7bca.png?authuser=7&hl=vi)
Đặt phần khoá phía nguồn
Khi người dùng nhấp hoặc xem quảng cáo, hãy đặt các khoá tổng hợp trong tiêu đề Attribution-Reporting-Register-Aggregatable-Source
.
Ở giai đoạn này, đối với mỗi khoá, bạn chỉ có thể đặt một phần của khoá (còn gọi là phần khoá) được xác định tại thời điểm phân phát quảng cáo.
Hãy tạo các phần khoá:
Phần khoá phía nguồn cho mã nhận dạng khoá... | Chuỗi chứa các giá trị phương diện mà bạn muốn đặt | Hàm băm của chuỗi này dưới dạng hệ thập lục phân, được cắt thành 64 bit đầu tiên (64/4 = 16 ký tự1) | Hàm băm hex có thêm các số 0 được thêm vào để đơn giản hoá XOR-ing. Đây là phần khoá phía nguồn. |
---|---|---|---|
key_purchaseCount |
COUNT, CampaignID=12, GeoID=7 |
0x3cf867903fbb73ec | 0x3cf867903fbb73ec0000000000000000 |
key_purchaseValue |
VALUE, CampaignID=12, GeoID=7 |
0x245265f432f16e73 | 0x245265f432f16e730000000000000000 |
Bây giờ, hãy đặt các phần quan trọng:
// Upon receiving the request from the publisher site
res.set(
"Attribution-Reporting-Register-Aggregatable-Source",
JSON.stringify([
{
"id": "key_purchaseCount",
"key_piece": "0x3cf867903fbb73ec0000000000000000"
},
{
"id": "key_purchaseValue",
"key_piece": "0x245265f432f16e730000000000000000"
}
])
);
Xin lưu ý rằng mã khoá sẽ không xuất hiện trong báo cáo cuối cùng. Chúng chỉ được dùng khi đặt khoá trong trình duyệt để các phần khoá phía nguồn và phía điều kiện kích hoạt có thể được ánh xạ với nhau và kết hợp thành một khoá đầy đủ.
Không bắt buộc: báo cáo ở cấp sự kiện
Nếu bạn cần sử dụng báo cáo cấp sự kiện cùng với báo cáo tổng hợp, hãy đảm bảo rằng đối với một nguồn nhất định, dữ liệu cấp sự kiện (mã sự kiện nguồn và dữ liệu điều kiện kích hoạt) và khoá tổng hợp có thể khớp với nhau.
Ví dụ: bạn có thể sử dụng cả hai báo cáo nếu dự định sử dụng báo cáo cấp sự kiện để chạy các mô hình về những loại quảng cáo có xu hướng dẫn đến nhiều lượt mua hàng nhất.
Một người dùng chuyển đổi
Khi người dùng chuyển đổi, yêu cầu pixel thường được gửi đến máy chủ công nghệ quảng cáo. Sau khi nhận được yêu cầu này:
- Đặt các phần khoá phía chuyển đổi (phía điều kiện kích hoạt) để hoàn tất khoá.
Bạn sẽ đặt các phần chính này thông qua tiêu đề
Attribution-Reporting-Register-Aggregatable-Trigger-Data
. - Đặt giá trị tổng hợp cho lượt chuyển đổi đó, thông qua tiêu đề
Attribution-Reporting-Register-Aggregatable-Values
.
Đặt các phần khoá phía điều kiện kích hoạt để hoàn tất khoá
Hãy tạo các phần khoá:
Phần khoá phía điều kiện kích hoạt cho mã nhận dạng khoá... | Chuỗi chứa các giá trị phương diện mà bạn muốn đặt | Hàm băm của chuỗi này dưới dạng hệ thập lục phân, được cắt thành 64 bit đầu tiên (64/4 = 16 ký tự1) | Hàm băm hex có thêm các số 0 được thêm vào để simplify quá trình XOR. Đây là phần khoá phía nguồn. |
---|---|---|---|
key_purchaseCount |
ProductCategory=25 |
0x1c7ce88c4904bbe2 | 0x0000000000000000f9e491fe37e55a0c |
key_purchaseValue |
(giống nhau) | (giống nhau) | (giống nhau) |
Bây giờ, hãy đặt các phần quan trọng:
// Upon receiving the pixel request from the advertiser site
res.set(
"Attribution-Reporting-Register-Aggregatable-Trigger-Data",
JSON.stringify([
// Each dictionary independently adds pieces to multiple source keys
{
"key_piece": "0x0000000000000000f9e491fe37e55a0c",
"source_keys": ["key_purchaseCount", "key_purchaseValue"]
},
])
);
Hãy lưu ý cách bạn thêm cùng một đoạn khoá vào một số khoá bằng cách liệt kê một số mã nhận dạng khoá trong source_keys
— đoạn khoá sẽ được thêm vào cả hai khoá.
Đặt các giá trị tổng hợp
Trước khi đặt các giá trị tổng hợp, bạn cần tăng kích thước để giảm độ nhiễu.
Giả sử bạn đã thực hiện một giao dịch mua hàng đối với loại sản phẩm 25 với giá 52 USD.
Bạn sẽ không đặt trực tiếp những giá trị này dưới dạng giá trị tổng hợp:
key_purchaseCount
: 1 lượt chuyển đổikey_purchaseValue
: 52 USD
Thay vào đó, trước khi đăng ký các giá trị tổng hợp này, bạn cần điều chỉnh theo tỷ lệ để giảm thiểu độ nhiễu.
Bạn có hai mục tiêu để chi tiêu ngân sách đóng góp, vì vậy, bạn có thể quyết định chia đôi ngân sách đóng góp.
Trong trường hợp này, mỗi mục tiêu được phân bổ tối đa là CONTRIBUTION_BUDGET/2
(=65.536/2=32.768).
Giả sử giá trị mua hàng tối đa cho một người dùng (dựa trên lịch sử mua hàng trên tất cả người dùng của trang web) là 1.500 đô la. Có thể có các ngoại lệ, ví dụ như rất ít người dùng đã chi tiêu trên số tiền đó, nhưng bạn có thể quyết định bỏ qua những ngoại lệ này.
Hệ số tỷ lệ cho giá trị giao dịch mua phải là:
((CONTRIBUTION_BUDGET
/2) / 1.500) = 32.768/1.500 = 21,8 ≈ 22
Hệ số tỷ lệ cho số lượt mua hàng là 32.768/1 = 32.768, vì bạn đã quyết định theo dõi nhiều nhất một lượt mua hàng trên mỗi lượt nhấp vào quảng cáo hoặc một lượt xem (sự kiện nguồn).
Bây giờ, bạn có thể đặt các giá trị sau:
key_purchaseCount
: 1 × 32.768 = 32.768key_purchaseValue
: 52 × 22 = 1.144
Trên thực tế, bạn sẽ thiết lập các tuỳ chọn này như sau bằng cách sử dụng tiêu đề Attribution-Reporting-Register-Aggregatable-Values
dành riêng:
// Instruct the browser to schedule-send a report
res.set(
"Attribution-Reporting-Register-Aggregatable-Values",
JSON.stringify({
"key_purchaseCount": 32768,
"key_purchaseValue": 1144,
})
);
Đã tạo báo cáo tổng hợp
Trình duyệt sẽ so khớp lượt chuyển đổi với một lượt xem hoặc lượt nhấp trước đó rồi tạo một báo cáo tổng hợp, trong đó bao gồm tải trọng đã mã hoá bên cạnh siêu dữ liệu báo cáo.
Sau đây là ví dụ về dữ liệu có thể tìm thấy trong tải trọng của báo cáo tổng hợp, nếu dữ liệu đó có thể đọc được ở dạng văn bản thô:
[
{
key: 0x3cf867903fbb73ecf9e491fe37e55a0c, // = source-side key piece XOR conversion-side key piece for the key key_purchaseCount
value: 32768 // the scaled value for 1 conversion, in the context of [CONTRIBUTION_BUDGET/2]
},
{
key: 0x245265f432f16e73f9e491fe37e55a0c, // source-side key piece XOR conversion-side key piece for the key key_purchaseValue
value: 1144 // the scaled value for $52, in the context of [CONTRIBUTION_BUDGET/2]
},
]
Ở đây, bạn có thể thấy 2 mức đóng góp riêng biệt trong một báo cáo tổng hợp.
Yêu cầu báo cáo tóm tắt
- Các báo cáo tổng hợp theo lô. Làm theo lời khuyên trong phần Gộp nhóm các mẫu chuyển động.
- Tạo các khoá mà bạn muốn xem dữ liệu. Ví dụ: để xem dữ liệu tóm tắt
cho
COUNT
(tổng số giao dịch mua) vàVALUE
(tổng giá trị mua hàng) cho Mã chiến dịch 12 × Mã vị trí địa lý 7 × Danh mục sản phẩm 25:- Tạo phần khoá phía nguồn, như bạn đã làm khi đặt khoá trong trình duyệt.
- Tạo phần khoá phía điều kiện kích hoạt, như bạn đã làm khi đặt khoá trong trình duyệt.
Chỉ số bạn muốn yêu cầu1 | Phần khoá phía nguồn | Phần khoá phía điều kiện kích hoạt | Khoá để yêu cầu dịch vụ tổng hợp2 |
---|---|---|---|
Tổng số giao dịch mua (COUNT ) |
0x3cf867903fbb73ec 0000000000000000 |
0x00000000000000 00f9e491fe37e55a0c |
0x3cf867903fbb73 ecf9e491fe37e55a0c |
Tổng giá trị giao dịch mua (VALUE ) |
0x245265f432f16e73 0000000000000000 |
0x0000000000000000 f9e491fe37e55a0c |
0x245265f432f16e73 f9e491fe37e55a0c |
- Yêu cầu dữ liệu tóm tắt đến dịch vụ tổng hợp cho các khoá này.
Xử lý báo cáo tóm tắt
Cuối cùng, bạn sẽ nhận được báo cáo tóm tắt có thể có dạng như sau:
[
{"bucket": "00111100111110000110011110010000001111111011101101110011111011001111100111100100100100011111111000110111111001010101101000001100",
"value": "2558500"},
{"bucket": "00100100010100100110010111110100001100101111000101101110011100111111100111100100100100011111111000110111111001010101101000001100",
"value": "687060"},
…
]
Bộ chứa đầu tiên là khoá COUNT
ở dạng nhị phân. Bộ chứa thứ hai là khoá VALUE
ở dạng tệp nhị phân.
Xin lưu ý rằng mặc dù các khoá không đồng nhất (COUNT
so với VALUE
), nhưng các khoá này vẫn nằm trong cùng một báo cáo.
Giảm số lượng giá trị
- 2.558.500 tức là số lượt mua hàng cho khoá này, gia tăng theo hệ số tỷ lệ đã tính toán trước đó. Hệ số tỷ lệ cho số lượt mua hàng là 32.768. Chia 2.558.500 cho ngân sách đóng góp của mục tiêu: 2.558.500/32.768 = 156,15 giao dịch mua.
- 687.060 → 687.060/22 = 31.230 USD tổng giá trị mua hàng.
Do đó, báo cáo tóm tắt cung cấp cho bạn những thông tin chi tiết sau:
- Trong khoảng thời gian báo cáo, chiến dịch số 12 chạy ở Châu Âu đã thúc đẩy khoảng 156 lượt mua hàng (± độ nhiễu) cho danh mục sản phẩm số 25.
- Trong khoảng thời gian báo cáo, chiến dịch số 12 chạy ở Châu Âu đã mang lại 31.230 đô la Mỹ cho giao dịch mua hàng (± độ nhiễu) cho danh mục sản phẩm số 25.