Hộp cát về quyền riêng tư trên Bản dùng thử dành cho nhà phát triển Android đã ra mắt! Tìm hiểu cách bắt đầutiếp tục cung cấp ý kiến phản hồi.

Giới hạn tần suất FLEDGE

Stay organized with collections Save and categorize content based on your preferences.

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 FLEDGE 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 và bảo đảm quyền riêng tư.

FLEDGE 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à khả 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 cho phé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á, FLEDGE 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 FLEDGE có quyền truy cập vào các bộ đếm, quảng cáo tiếp thị lại và quảng cáo theo bối cảnh, cho phép giới hạn tần suất FLEDGE 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 FLEDGE của Chrome hiện không triển khai cơ chế lọc quảng cáo không phải FLEDGE đượ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.

Giới hạn tần suất FLEDGE 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 đồ có liên quan cần cập nhật trong trường hợp một lượt xem hoặc lượt hiển thị sử dụng một trường mới on_device_counters_keys có chứa danh sách các giá trị khoá tuỳ ý. Trường này không có trong trường metadata không được FLEDGE 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 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 FLEDGE and
                                just required to be in valid JSON
                                format */
        'on_device_counters_keys': [
          'campaign_id:1234',
          'campaign_id:1234+adgroup_id:5678'
        ]
      }]
  }]
}

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

Công nghệ quảng cáo có thể gọi phương thức updateEventHistogram để đă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 updateEventHistogram(@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ị 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 trả về bằng các lệnh gọi selectAds.

Lệnh gọi updateEventHistogram 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 choselectAds. Ngoài các khoá trong on_device_counters_keys, lệnh gọi cũng sẽ cập nhật biểu đồ cho bộ đếm được xác định bằng giá trị render_url của quảng cáo.

Nếu chúng tôi 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 updateEventHistogram(EventType.VIEW, adSelectionId: 999) sẽ làm tăng giá trị của bộ đếm cho 3 khoá chính sau đây:

  • {'ads.example.com', 'campaign_id:1234', VIEW}
  • {'ads.example.com', 'campaign_id:1234+adgroup_id:5678', VIEW}
  • {'ads.example.com', 'exampleUrl', 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.

FLEDGE dành cho Android sẽ tự động làm tăng giá trị cho tất cả bộ đếm nêu trên cho loại sự kiện EventType.AD_SELECTION_WIN đối với 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 khi triển khai FLEDGE 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. FLEDGE 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_seconds được dùng để truy xuất biểu đồ của các sự kiện dùng để lọc và FLEDGE.

Bạn có thể chỉ định thông tin lọc cho quảng cáo tái tiếp thị do đố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 FLEDGE and assumed
                        to be in valid JSON format */

  'on_device_counters_keys': [
    'campaign_id:1234',
    'campaign_id:1234+adgroup_id:5678'
  ],

  "filters": {
    "frequency_cap": {
      "view": {
        "campaign_id:1234": {
          "cap": 10,
          "interval_seconds": 86400
        },
        "adgroup_id:5678": {
          "cap": 10,
          "interval_seconds": 86400
        },
      },
      "win": {
        "campaign_id:1234": {
          "cap": 5,
          "interval_seconds": 604800
        },
        "adgroup_id:5678": {
          "cap": 5,
          "interval_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

FLEDGE di chuyển việc 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 FLEDGE.

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 tìm nạp nền đối tượng tuỳ chỉnh. 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á FLEDGE. Điều này đảm bảo rằng nếu có nhiều quảng cáo bị lọc ra, 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 FLEDGE:

  1. Giới hạn tần suất FLEDGE 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ư hồ sơ 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 muố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 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. Để xoá 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.
  4. Không hỗ 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.