Giới hạn tần suất bằng Protected Audience

Giới hạn tần suất là một tính năng quảng cáo giới hạn số lượng quảng cáo từ một danh mục nhất định được hiện cho người dùng trong một khoảng thời gian nhất định. Bằng cách áp dụng giới hạn tần suất, trải nghiệm của người dùng cuối sẽ được cải thiện khi lượt hiển thị quảng cáo luôn duy trì sự mới mẻ và thú vị, đồng thời giúp nhà quảng cáo quản lý mức chi tiêu quảng cáo.

Đề xuất này giới thiệu cách sử dụng Protected Audience trên Android để triển khai tính năng giới hạn tần suất theo cách chính xác cũng như bảo đảm quyền riêng tư.

Protected Audience triển khai tính năng giới hạn tần suất bằng cách kết hợp 2 tính năng: Bộ nhớ trên thiết bị của bộ đếm cho các sự kiện dành riêng cho quảng cáo và tính năng lọc quảng cáo theo một nhóm chiến lược bộ lọc được xác định trước. Tính năng giới hạn tần suất giúp nhà quảng cáo chỉ định ngưỡng bộ đếm so với tổng giá trị của biểu đồ trong một khoảng thời gian nhất định.

Các bộ đếm là duy nhất cho mỗi cách kết hợp giữa cấu hình thiết bị, công nghệ quảng cáo và khoá bộ đếm. Mỗi quảng cáo phải chứa một bộ khoá bộ đếm để dùng trong trường hợp lượt xem hoặc lượt hiển thị cho quảng cáo được đăng ký. Đối với mỗi khoá, Protected Audience lưu trữ một tập hợp các bộ đếm và mỗi bộ đếm sẽ đo lường tất cả sự kiện dành riêng cho quảng cáo xảy ra trong một khoảng thời gian cụ thể. Bộ đếm trên thiết bị sẽ tăng lên khi có lượt hiển thị hoặc lượt xem và dữ liệu bộ đếm sẽ được lưu trên thiết bị. Thời gian lưu trữ chính xác sẽ được xác định sau.

Logic lọc quảng cáo trong quy trình chọn quảng cáo của Protected Audience có quyền truy cập vào các bộ đếm, quảng cáo tái tiếp thị và quảng cáo theo bối cảnh, nhờ vậy mà tính năng giới hạn tần suất của Protected Audience có thể hoạt động với tất cả các loại yêu cầu quảng cáo như vậy.

Lưu ý: Tính năng lọc quảng cáo chỉ hoạt động trong Hộp cát về quyền riêng tư trên Android. Việc triển khai Protected Audience của Chrome hiện không triển khai cơ chế lọc quảng cáo (không phải Protected Audience) được nhắm mục tiêu theo ngữ cảnh. Đề xuất này chỉ đề cập đến tính năng hỗ trợ bên mua. Nếu có nhu cầu, chúng tôi sẽ bổ sung dịch vụ hỗ trợ bên bán sau.

Tính năng giới hạn tần suất của Protected Audience hỗ trợ nhiều yêu cầu, bao gồm:

  • Lọc theo thời gian thực, với độ trễ phía máy chủ tối thiểu khi bộ đếm trên thiết bị được cập nhật.
  • Hệ thống phân cấp khoá linh hoạt, bao gồm cả quảng cáo riêng lẻ, chiến dịch hoặc bất kỳ hình thức nhóm nào khác.
  • Tương đẳng với các phương pháp giới hạn tần suất khác mà không phụ thuộc vào AdID.
  • Hoạt động trên các ứng dụng qua một hồ sơ người dùng thiết bị nhất định.
  • Bộ đếm chính xác và đầy đủ.
  • Hỗ trợ định nghĩa tuỳ chỉnh về các sự kiện quảng cáo, chẳng hạn như lượt xem hoặc lượt hiển thị.
  • Dùng một hàm cho cả quảng cáo tái tiếp thị và quảng cáo theo bối cảnh.

Để thiết lập giới hạn tần suất, hãy làm theo các bước sau:

Bước 1: Thêm thông tin giới hạn tần suất vào quảng cáo

Quảng cáo tái tiếp thị và quảng cáo theo bối cảnh biểu thị những bộ đếm biểu đồ phù hợp cần cập nhật trong trường hợp một lượt xem hoặc một lượt hiển thị sử dụng trường ad_counter_keys có chứa danh sách số nguyên tuỳ ý. Trường này không có trong trường metadata không được Protected Audience phân tích cú pháp.

Ví dụ sau đây minh hoạ định dạng dữ liệu của trường adsData trong AdSelectionConfig. Đối với mục đích tái tiếp thị, định dạng danh sách quảng cáo cho một đối tượng tuỳ chỉnh nhất định là nhất quán với nội dung của trường ads, như minh hoạ bên dưới:

'adsData': [
  {
    "buyer": "ads.example.com",
    "ads": [
      {
        'render_url': 'exampleUrl',
        'metadata': {...},   /* metadata are opaque to Protected Audience are
                                required to be in valid JSON format */
        'ad_counter_keys': [1234, 5678]
      }]
  }]
}

Bước 2: Đăng ký một lượt xem hoặc một lượt hiển thị

Công nghệ quảng cáo có thể gọi phương thức updateAdCounterHistogram để đăng ký lượt xuất hiện cho các sự kiện được dùng cho giới hạn tần suất. Một phương thức có thể được gọi nhiều lần trong cùng một sự kiện cho các khoá được chỉ định trong eventType của quảng cáo giành chiến thắng.

void updateAdCounterHistogram(@EventType eventType, long adSelectionId)

Giá trị đầu vào:

  • eventType: Xác định xem một sự kiện được tính là lượt xem, lượt hiển thị, lượt nhấp hay lượt chiến thắng của quá trình lựa chọn quảng cáo.
  • adSelectionId: Giá trị mã nhận dạng trong đối tượng AdSelectionOutcome được các lệnh gọi selectAds trả về.

Lệnh gọi updateAdCounterHistogram cập nhật biểu đồ cho tập hợp các khoá được xác định như một phần của quảng cáo tái tiếp thị được tìm nạp bởi CustomAudience hoặc quảng cáo theo bối cảnh có trong tham số AdSelectionConfig cho selectAds.

Nếu bạn giả định rằng quảng cáo trong Bước 1 là quảng cáo chiến thắng của AdSelection bằng giá trị id của 9999, thì lệnh gọi đến updateAdCounterHistogram(FrequencyCapFilters.AD_EVENT_TYPE_VIEW, adSelectionId: 999) sẽ làm tăng giá trị của bộ đếm cho 3 khoá chính sau đây:

  • {'ads.example.com', 1234, VIEW}
  • {'ads.example.com', 5678, VIEW}

Tên công nghệ quảng cáo được lấy trong trường người mua, từ quảng cáo theo bối cảnh hoặc đối tượng tuỳ chỉnh, tuỳ thuộc vào nguồn gốc của quảng cáo giành chiến thắng.

Protected Audience dành cho Android tự động tăng tất cả các bộ đếm đã đề cập ở trên cho loại sự kiện FrequencyCapFilters.AD_EVENT_TYPE_WIN cho các quảng cáo được lệnh gọi API selectAds trả về. Chức năng này tương đương với việc thêm đối số prev_wins vào browser_signals trong generateBid trong quá trình triển khai Protected Audience của Chrome.

Bước 3: Triển khai tính năng lọc giới hạn tần suất bằng bộ lọc

Để có hiệu suất tối ưu, hàm lọc giới hạn tần suất được thực thi trong AdServices. Protected Audience hiểu được rằng liệu có phải lọc thông báo bằng cách đọc trường bộ lọc trong đối tượng AdsData hay không. Danh sách bộ lọc sẽ được chỉ định trong frequency_cap. Các giá trị của khoá, event_typeinterval_in_seconds được dùng để truy xuất biểu đồ của các sự kiện dùng để lọc và dùng cho Protected Audience.

Bạn có thể chỉ định thông tin lọc cho quảng cáo tái tiếp thị do một đối tượng tuỳ chỉnh cung cấp và cho quảng cáo theo bối cảnh như là một phần của đối tượng AdSelectionConfig.

Đối với quảng cáo theo bối cảnh có bộ lọc giới hạn tần suất, quảng cáo được chuyển vào bằng cách sử dụng trường quảng cáo trong đối tượng AdSelectionConfig. Quảng cáo sẽ được lọc và quảng cáo có giá thầu cao nhất được trả về theo lệnh gọi selectAds.

Đối với quảng cáo tái tiếp thị có bộ lọc giới hạn tần suất, quảng cáo sẽ được lọc trước khi gọi hàm JavaScript generateBid() do người mua cung cấp.

Ví dụ sau đây minh hoạ một thông báo có tính năng lọc giới hạn tần suất:

{
  'render_url': 'url',
  'metadata': {...},   /* metadata are opaque to Protected Audience and assumed
                        to be in valid JSON format */

  'ad_counter_keys': [1234, 5678],

  "filters": {
    "frequency_cap": {
      "view": [
        {
          "ad_counter_key": 1234
          "max_count": 10,
          "interval_in_seconds": 86400
        },
        {
          "ad_counter_key": 5678
          "max_count": 10,
          "interval_in_seconds": 86400
        },
      ],
      "win": [
        {
          "ad_counter_key": 1234
          "max_count": 5,
          "interval_in_seconds": 604800
        },
        {
          "ad_counter_key": 5678
          "max_count": 5,
          "interval_in_seconds": 345600
        },
      ]
    },

  // This field is only required in contextual ads and is used in
  // reportImpression calls to fetch the reportWin function.
  'reportingJS': "https://ads.example.com?reportWin.js"
}

Bước 4: Báo cáo về quảng cáo giành chiến thắng

Sau khi quá trình chọn quảng cáo hoàn tất, hệ thống sẽ trả về một đối tượng AdSelectionOutcome chứa renderUriadSelectionId. Đây là giá trị nhận dạng dạng số cho lệnh gọi selectAds. Mã nhận dạng này có thể được dùng để gọi API reportImpression, hiện hỗ trợ tính năng báo cáo ở cấp sự kiện. Trong phiên bản Beta 1, phương thức này hỗ trợ tính năng báo cáo cho quảng cáo tái tiếp thị và sẽ được mở rộng để hỗ trợ cả tính năng báo cáo cho quảng cáo theo bối cảnh trong bản phát hành sau này. Đối với quảng cáo theo bối cảnh, người mua bắt buộc phải chỉ định vị trí truy xuất hàm reportWin trong lệnh gọi reportImpression bằng cách sử dụng trường bổ sung có tên là reportingJS trong cấu trúc quảng cáo, như minh hoạ trong ví dụ ở trên.

Các phương pháp hay nhất để chọn đề xuất quảng cáo

Protected Audience di chuyển hoạt động thực thi giới hạn tần suất từ máy chủ sang thiết bị. Mặc dù giá thầu giành chiến thắng được báo cáo bằng Hộp cát về quyền riêng tư, nhưng nhà phát triển sẽ không biết tại sao quảng cáo không hiển thị. Quảng cáo có thể không xuất hiện do giá thầu thua hoặc do giới hạn tần suất. Khi không biết được hết lý do khiến một số quảng cáo không giành chiến thắng, hệ thống đặt giá thầu yêu cầu thực hiện thêm một số thao tác để đảm bảo phân phát quảng cáo tối ưu. Các phương pháp hay nhất này sẽ đảm bảo việc phân phát quảng cáo tối ưu bằng Protected Audience.

Gửi đủ quảng cáo tái tiếp thị

Không thể tối ưu hoá quảng cáo tái tiếp thị cho mỗi người dùng. Nếu người dùng thấy một số lượng lớn quảng cáo của một đối tượng tuỳ chỉnh và giới hạn quảng cáo thấp, thì tất cả quảng cáo có thể bị lọc ra. Quảng cáo tái tiếp thị được làm mới định kỳ, vì vậy, sẽ có đủ khoảng không quảng cáo được đặt giới hạn tần suất để đảm bảo quảng cáo tái tiếp thị tiếp tục được phân phát. Bạn cần cân bằng quá trình này với các giới hạn về kích thước của quảng cáo có thể được chỉ định trong khi gọi joinCustomAudience và trong quá trình cập nhật đối tượng tuỳ chỉnh hằng ngày. Người mua phải cân nhắc rằng độ trễ có thể sẽ tăng trong giai đoạn đặt giá thầu. Để giảm thiểu tác động của những vấn đề này, quá trình lọc giới hạn tần suất sẽ được thực hiện trước khi gọi generateBid.

Duy trì bộ đếm theo ngữ cảnh trên máy chủ

Nhờ tính năng ước tính phía máy chủ, nhà phát triển có thể ước tính gần đúng thời điểm áp dụng giới hạn tần suất. Những thông tin ước tính đó có thể cho thấy rằng một quảng cáo có khả năng đã đạt đến ngưỡng giới hạn tần suất và nên được gửi với nhiều đề xuất quảng cáo hơn, nếu không sẽ bị loại bỏ hoàn toàn.

Gửi nhiều đề xuất quảng cáo trên phản hồi theo ngữ cảnh

Bạn nên gửi nhiều đề xuất quảng cáo cùng với phản hồi theo ngữ cảnh trước một phiên đấu giá Protected Audience. Điều này đảm bảo rằng nếu có một số quảng cáo bị lọc ra, thì các quảng cáo khác vẫn sẽ hiển thị. Có thể ưu tiên các đề xuất quảng cáo để cung cấp một số quảng cáo làm quảng cáo dự phòng.

Vì việc thực thi có giới hạn về thời gian, nên các đề xuất quảng cáo phải được chọn theo khả năng chiến thắng trong phiên đấu giá và để không bị lọc ra.

Các điểm hạn chế

Dưới đây là các điểm hạn chế đã biết của tính năng giới hạn tần suất của Protected Audience:

  1. Tính năng giới hạn tần suất của Protected Audience hoạt động ở cấp hồ sơ người dùng thiết bị, hiện không có bộ đếm dùng chung nào trên các thiết bị khác cũng như cấu hình khác. Bạn cần tích hợp mọi mức tăng của quảng cáo hiển thị trên các thiết bị khác theo cách thủ công, nếu cần.
  2. Bộ đếm thiết bị được lưu trữ và truy cập trên thiết bị. Bộ đếm phía máy chủ cần được quản lý riêng.
  3. Vì giới hạn tần suất và tính năng lọc quảng cáo có liên quan được xử lý trên một thiết bị, nên các nền tảng công nghệ quảng cáo không có quyền kiểm soát trực tiếp đối với các hoạt động này. Để bỏ qua ngưỡng giới hạn tần suất của thiết bị đó, các nền tảng công nghệ quảng cáo có thể gửi nhiều quảng cáo đề xuất bằng nhiều bộ lọc.
  4. Không hỗ trợ hệ số điều chỉnh giá thầu dựa trên tần suất được ghi lại. Các hàm generateBid không thể xem bộ đếm tần suất.