Lỗi chuỗi đồng ý âm thầm giết chết doanh thu quảng cáo của bạn
Rò rỉ doanh thu âm thầm
Khi eCPM của bạn trượt xuống vài phần trăm mỗi tháng, nguyên nhân hiếm khi là kho quảng cáo hay giá sàn. Thường gặp hơn là một TC string bị hỏng — tín hiệu của IAB Transparency & Consent Framework (TCF) đi cùng mỗi yêu cầu quảng cáo. Một chuỗi sai định dạng hoặc thiếu không ném ra lỗi ồn ào nào. Thay vào đó, máy chủ quảng cáo âm thầm quay về quảng cáo không cá nhân hóa, các đối tác cầu rút lui, và doanh thu chảy máu mà không có lấy một cảnh báo. Đối với các nhà phát hành ứng dụng và trò chơi kiếm tiền tại EEA và Vương quốc Anh, đó là nguyên nhân thất thu bị bỏ qua nhiều nhất.
TC string thực sự mang gì
TC string là một khối được mã hóa base64 do Nền tảng Quản lý Sự đồng ý (CMP) của bạn tạo ra. Nó mã hóa các lựa chọn của người dùng: các mục đích được đồng ý, các nhà cung cấp được phép, CMP ID của bạn, phiên bản chính sách, và một dấu thời gian. Người mua giải mã nó trong vài mili giây để quyết định liệu họ có thể đặt giá thầu với nhắm mục tiêu cá nhân hóa hay không. Hai tín hiệu quan trọng không kém:
gdprApplies— một cờ (1, 0, hoặc undefined) cho người mua biết liệu GDPR có áp dụng hay không.- Google Consent Mode v2 — các tín hiệu
ad_storage,ad_user_data, vàad_personalizationmà Google đọc độc lập với chuỗi TCF.
Nếu bất kỳ tín hiệu nào trong số này sai, phía cầu bốc hơi — ngay cả khi người dùng thực sự đã đồng ý.
Năm lỗi âm thầm khiến bạn tốn tiền
1. Chuỗi thiếu hoặc hết hạn. Nếu CMP không bao giờ ghi một chuỗi, hoặc sự đồng ý được lưu trong bộ nhớ đệm cũ quá cửa sổ nhắc lại của bạn, các yêu cầu đi ra mà không có tín hiệu. Người mua coi "không có chuỗi" như "không có sự đồng ý" và chỉ đặt giá thầu với cầu theo ngữ cảnh eCPM thấp, hoặc bỏ qua phiên đấu giá.
2. CMP ID sai. Mỗi CMP được chứng nhận có một ID đã đăng ký được khắc vào chuỗi. Nếu một ID không được nhận diện được ghi, Google và các nhà cung cấp IAB từ chối nó — phổ biến sau một lần di chuyển với SDK cũ vẫn còn được đóng gói.
3. Nhà cung cấp không được khai báo. Một đối tác cầu có thể có sự đồng ý đầy đủ, nhưng nếu vendor ID của nó không nằm trong danh sách nhà cung cấp được phép, nó không thể đặt giá thầu cá nhân hóa. Nhà phát hành thường quên cập nhật danh sách sau khi thêm một đối tác.
4. gdprApplies sai định dạng. Truyền một chuỗi "1" thay vì một số nguyên, hoặc để nó undefined cho một người dùng rõ ràng ở EEA, làm người mua bối rối. Một gdprApplies=0 không chính xác cũng có thể khiến bạn gặp rủi ro tuân thủ trong khi trông có vẻ ổn.
5. Tín hiệu Consent Mode không kích hoạt. Chuỗi TCF có thể hoàn hảo trong khi Consent Mode vẫn ở trạng thái bị từ chối mặc định — ví dụ, khi SDK tải quảng cáo trước khi sự đồng ý được giải quyết. Google khi đó phục vụ quảng cáo không cá nhân hóa bất kể TC string.
Quy trình gỡ lỗi từng bước
Làm việc từ thiết bị hướng ra ngoài đến máy chủ quảng cáo, và tái tạo trong trạng thái sạch — xóa dữ liệu ứng dụng hoặc dùng hồ sơ trình duyệt mới để sự đồng ý cũ không đánh lừa bạn.
- Bước 1 — Bắt chuỗi thô. Trên web, đọc nó qua
__tcfapi('getTCData', 2, cb). Trong một ứng dụng, trích xuất khóaIABTCF_TCStringtừSharedPreferences(Android) hoặcNSUserDefaults(iOS). - Bước 2 — Giải mã và xác thực. Dán nó vào bộ giải mã IAB TCF hoặc một trình xác thực CMP. Xác nhận CMP ID là của bạn, phiên bản chính sách và dấu thời gian là hiện hành, và các vendor ID chính của bạn xuất hiện trong danh sách.
- Bước 3 — Kiểm tra yêu cầu quảng cáo. Dùng Charles Proxy hoặc một trình kiểm tra mạng để theo dõi yêu cầu GAM, và xác minh các tham số
gdprvàgdpr_consentmang đúng giá trị. - Bước 4 — Kiểm tra Consent Mode. Dùng Google Tag Assistant để xác nhận
ad_user_datavàad_personalizationchuyển sang granted khi người dùng chấp nhận. - Bước 5 — Xác nhận trong GAM. Mở chiều báo cáo quảng cáo không cá nhân hóa của Ad Manager. Một đột biến lưu lượng NPA không khớp với tỷ lệ từ chối của bạn là dấu vân tay của một chuỗi hỏng.
Khắc phục nguyên nhân gốc rễ
Vá một yêu cầu hỏng thì dễ; ngăn yêu cầu tiếp theo mới là công việc. Hãy để quảng cáo chờ sự đồng ý trước khi khởi tạo, giữ danh sách nhà cung cấp của bạn đồng bộ với ngăn xếp cầu của bạn, và theo dõi tỷ lệ giữa lượt hiển thị cá nhân hóa và không cá nhân hóa — một sự dịch chuyển ở đó là cảnh báo sớm nhất của bạn.
Đây là nơi một CMP được Google chứng nhận chứng tỏ giá trị của nó. FlexyConsent phát ra các chuỗi IAB TCF 2.3 hợp lệ với CMP ID đúng và các khai báo nhà cung cấp, kích hoạt các tín hiệu Consent Mode v2 để ad_user_data và ad_personalization bám theo lựa chọn của người dùng, và hiển thị phân tích tỷ lệ đồng ý trên web, Android, và iOS — nên một chuỗi hỏng nổi lên trên bảng điều khiển, chứ không phải trong khoản chi trả của bạn.
Những điểm chính
- Một TC string hỏng không gây sập — nó âm thầm hạ cấp bạn xuống quảng cáo không cá nhân hóa và eCPM thấp hơn.
- Năm thủ phạm: chuỗi thiếu/hết hạn, CMP ID sai, nhà cung cấp không khai báo,
gdprAppliessai định dạng, và các tín hiệu Consent Mode chết. - Gỡ lỗi từ thiết bị đến máy chủ quảng cáo: bắt, giải mã, kiểm tra yêu cầu, xác minh Consent Mode, kiểm tra GAM.
- Theo dõi liên tục tỷ lệ cá nhân hóa-trên-NPA của bạn — một CMP được chứng nhận như FlexyConsent biến các chuỗi hợp lệ và tín hiệu Consent Mode v2 đúng thành mặc định.