İlişkilendirme Raporları'nda hata ayıklama hakkında bölüm 2/3. Hata ayıklama raporlarınızı ayarlayın.
Sözlük
- Raporlama kaynağı, İlişkilendirme Raporlama kaynağı ve tetikleyici başlıklarını ayarlayan kaynaktır.
Tarayıcı tarafından oluşturulan tüm raporlar bu kaynağa gönderilir. Bu kılavuzda, örnek raporlama kaynağı olarak
https://adtech.example
kullanılmıştır. - İlişkilendirme raporu (kısaca rapor), istediğiniz ölçüm verilerini içeren nihai rapordur (etkinlik düzeyinde veya toplanabilir).
- Hata ayıklama raporu bir ilişkilendirme raporu veya bir kaynak ya da tetikleyici etkinliği hakkında ek veriler içerir. Hata ayıklama raporu almak bir şeylerin yolunda olduğu anlamına gelmez. İki tür hata ayıklama raporu vardır
- Geçişli hata ayıklama raporu, oluşturulup gönderilmesi için bir çerezin ayarlanmasını gerektiren hata ayıklama raporudur. Bir çerez ayarlanmazsa ve üçüncü taraf çerezleri kullanımdan kaldırıldığında geçişli hata ayıklama raporları kullanılamaz. Bu kılavuzda açıklanan tüm hata ayıklama raporları, geçişli hata ayıklama raporlarıdır.
- Başarı hata ayıklama raporları, ilişkilendirme raporunun başarılı bir şekilde oluşturulmasını izler. Bunlar doğrudan bir ilişkilendirme raporuyla ilişkilidir. Başarı hata ayıklama raporları, Chrome 101 sürümünden (Nisan 2022) beri kullanılabiliyor.
- Ayrıntılı hata ayıklama raporları, eksik raporları izleyebilir ve bunların neden eksik olduğunu belirlemenize yardımcı olabilir. Tarayıcının bir kaynağı kaydetmediği veya etkinliği tetiklemediği (yani ilişkilendirme raporu oluşturmadığı) ve herhangi bir nedenle ilişkilendirme raporunun oluşturulamadığı ya da gönderilemediği durumları gösterir.
Ayrıntılı hata ayıklama raporlarında kaynak etkinlik, tetikleyici etkinliği veya ilişkilendirme raporunun oluşturulmama nedenini açıklayan bir
type
alanı bulunur. Ayrıntılı hata ayıklama raporları, Chrome 109 sürümünden itibaren kullanıma sunulmuştur (Ocak 2023'te kararlı durumda). - Hata ayıklama anahtarları hem kaynak hem de tetikleyici tarafında ayarlayabileceğiniz benzersiz tanımlayıcılardır. Hata ayıklama anahtarları, çereze dayalı dönüşümleri ve ilişkilendirmeye dayalı dönüşümleri eşlemenizi sağlar. Sisteminizi hata ayıklama raporları oluşturacak ve hata ayıklama anahtarları ayarlayacak şekilde ayarladığınızda tarayıcı bu hata ayıklama anahtarlarını tüm ilişkilendirme raporlarına ve hata ayıklama raporlarına ekler.
Belgelerimizde kullanılan diğer kavramlar ve anahtar terimler için Özel Korumalı Alan sözlüğüne bakın.
Uygulamayla ilgili sorularınız mı var?
Hata ayıklama raporlarını ayarlarken herhangi bir sorunla karşılaşırsanız geliştirici desteğimiz veri deposu sorununuzu gidermenize yardımcı oluruz.
Hata ayıklama raporlarını ayarlamaya hazırlanma
Hata ayıklama raporlarını ayarlamadan önce aşağıdaki adımları uygulayın:
API entegrasyonu için en iyi uygulamaları uyguladığınızdan emin olun
Kodunuzun, özellik algılama özelliğinin arkasında kontrol edildiğinden emin olun. API'nin Permissions-Policy tarafından engellenmediğinden aşağıdaki kodu çalıştırın:
if (document.featurePolicy.allowsFeature('attribution-reporting')) { // the Attribution Reporting API is enabled }
Bu özellik algılama kontrolü true (doğru) değerini döndürürse bağlamı (sayfa) içerir.
(Test aşamasında gerekli değildir: Permissions-Policy)
Temel entegrasyon sorunlarını düzeltin
Hata ayıklama raporları, kayıpları geniş ölçekte tespit edip analiz etmenize yardımcı olsa da bazı entegrasyon sorunları yerel olarak algılanabilir. Kaynak ve tetikleyici başlığı yanlış yapılandırma sorunları, JSON ayrıştırma sorunları, güvenli olmayan bağlam (HTTPS olmayan) ve ve API'nin çalışmasını engelleyen diğer sorunlar Geliştirici Araçları Sorunlar sekmesi.
Geliştirici Araçları sorunları farklı türlerde olabilir. Bir invalid header
ile karşılaşırsanız
, başlığı başlık doğrulayıcıya kopyalayın.
aracını kullanın. Bu
soruna neden olan alanı belirleyip düzeltmenize yardımcı olur.
![Ekran görüntüsü: başlık doğrulama aracı](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/screenshot-header-valida-6fe8347784caf.png?authuser=9&hl=tr)
Hata ayıklama raporları oluşturma: başarı raporlarında ve ayrıntılı raporlarda sıklıkla karşılaşılan adımlar
Raporlama kaynağına aşağıdaki çerezi ayarlayın:
Set-Cookie: ar_debug=1; SameSite=None; Secure; Path=/; HttpOnly
Tarayıcı, bu çerezin hem kaynak hem de kayıt işlemini tetikleyebilir. Başarı hata ayıklama raporu yalnızca çerezi her iki durumda da mevcuttur.
Demo kodu: hata ayıklama çerezi
Hata ayıklama raporlarının şu moddaki tarayıcılar için etkinleştirilebileceğini unutmayın: B, burada üçüncü taraf çerezlerini, bu çerezlerle ilgili test ve hazırlıkları kolaylaştırmak üçüncü taraf çerezlerine yönelik desteğin sonlandırılması. B modundaki tarayıcılarda, hata ayıklama çerezini kullanarak hata ayıklama raporlarını etkinleştirin. Hata ayıklama anahtarları ayarlamak için 2. adıma geçin hata ayıklama raporlarını inceleyin.
2. adım: Hata ayıklama anahtarlarını ayarlayın
Her hata ayıklama anahtarı, 10 tabanlı dize olarak biçimlendirilmiş 64 bitlik imzalanmamış bir tam sayı olmalıdır. Her hata ayıklama anahtarını benzersiz bir kimlik haline getirin. Başarı hata ayıklama raporu yalnızca oluşturulur hata ayıklama anahtarları ayarlandığından emin olun.
- Kaynak tarafı hata ayıklama anahtarını, kullandığınız ek kaynak zamanı bilgileriyle eşleyin yararlı olacağını düşünüyoruz.
- Tetikleyici tarafı hata ayıklama anahtarını, kullandığınız ek tetikleme zamanı bilgileriyle eşleyin yararlı olacağını düşünüyoruz.
Örneğin aşağıdaki hata ayıklama anahtarlarını ayarlayabilirsiniz:
- Kaynak hata ayıklama anahtarı olarak Çerez Kimliği + Kaynak zaman damgası (ve aynı zaman damgası kullanabilirsiniz)
- Tetikleyici hata ayıklama anahtarı olarak Çerez Kimliği + Tetikleyici zaman damgası (ve aynı zaman damgası kullanabilirsiniz)
Bu sayede, sayfa görüntüleme sayısını artırmak için çerez tabanlı dönüşüm bilgilerini ilgili hata ayıklama raporlarını veya ilişkilendirme raporlarını kullanın. Daha fazla bilgiyi 3. Bölüm: Tarif Defteri'ni tıklayın.
Şu işlemleri yapabilmek için kaynak tarafı hata ayıklama anahtarının source_event_id
öğesinden farklı olmasını sağlayın:
Aynı kaynak etkinlik kimliğine sahip ayrı raporları ayırt edebilirsiniz.
Attribution-Reporting-Register-Source:
{
// … Usual fields for Attribution-Reporting-Register-Source
"debug_key":"647775351539539"
}
Attribution-Reporting-Register-Trigger:
{
// … Usual fields for Attribution-Reporting-Register-Trigger
"debug_key":"938321351539743"
}
Demo kodu: kaynak hata ayıklama tuş Demo kodu: hata ayıklama tetikleyicisi anahtarı
Başarı hata ayıklama raporları oluşturma
Bu bölümdeki örnek kod, hem performans raporları sunar. Etkinlik düzeyinde ve toplu hale getirilebilir raporlarda aynı hata ayıklama anahtarlarını kullanabilir.
3. adım: Başarılı hata ayıklama raporlarını toplamak için bir uç nokta oluşturun
Hata ayıklama raporlarını toplamak için bir uç nokta oluşturun. Bu uç nokta benzer olmalıdır
yolda ek bir debug
dizesiyle ana ilişkilendirme uç noktasına:
- Etkinlik düzeyindeki başarı hata ayıklama raporları için uç nokta:
https://adtech.example/.well-known/attribution-reporting/debug/report-event-attribution
- Toplanabilir başarı hata ayıklama raporları için uç nokta:
https://adtech.example/.well-known/attribution-reporting/debug/report-aggregate-attribution
- Toplanabilir başarı hata ayıklama raporları için uç nokta:
Bir ilişkilendirme tetiklendiğinde tarayıcı hemen bir hata ayıklama gönderir
raporu bu uç noktaya bir POST
isteğiyle gönderir. İşlenecek sunucu kodunuz
Gelen başarı hata ayıklama raporları aşağıdaki gibi görünebilir (düğüm uç noktasında burada):
// Handle incoming event-Level Success Debug reports
adtech.post(
'/.well-known/attribution-reporting/debug/report-event-attribution',
async (req, res) => {
// Debug report is in req.body
res.sendStatus(200);
}
);
// Handle incoming aggregatable Success Debug reports
adtech.post(
'/.well-known/attribution-reporting/debug/report-aggregate-attribution',
async (req, res) => {
// Debug report is in req.body
res.sendStatus(200);
}
);
Demo kodu: Etkinlik düzeyinde hata ayıklama raporları uç nokta
Demo kodu: toplanabilir hata ayıklama raporları uç nokta
4. adım: Ayarlarınızın başarılı hata ayıklama raporları oluşturacağını onaylayın
chrome://attribution-internals
adresini tarayıcınızda açın.- Hata Ayıklama Raporlarını Göster onay kutusunun hem Etkinlik Düzeyindeki Raporlar ve Toplanabilir Raporlar sekmeleri.
- İlişkilendirme raporlamasını uyguladığınız siteleri açın. Tamamla ilişkilendirme raporları oluşturmak için kullandığınız adımlar bu adımların Başarılı hata ayıklama raporları oluşturabilirsiniz.
chrome://attribution-internals
ürününde:- İlişkilendirme raporlarının doğru şekilde oluşturulduğundan emin olun.
- Etkinlik Düzeyindeki Raporlar sekmesi ve Toplanabilir Raporlar sekmesinde,
başarı hata ayıklama raporlarının da
oluşturulup oluşturulmadığını kontrol edin. Onları tanıyın
listede mavi
debug
yol ile gösterilir.
![Ekran görüntüsü: İlişkilendirme dahili öğeleri](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/screenshot-attribution-i-e7d3e5d9e396.png?authuser=9&hl=tr)
- Sunucunuzda, uç noktanızın bu başarıları hemen aldığını doğrulayın hata ayıklama raporlarını inceleyin. Hem etkinlik düzeyinde hem de toplanabilir öğeleri kontrol ettiğinizden emin olun hata ayıklama raporları ekleyebilirsiniz.
![Ekran görüntüsü: Kaynak sunucu günlüklerini raporlama](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/screenshot-reporting-ori-89d44854473d7.png?authuser=9&hl=tr)
5. Adım: Başarı hata ayıklama raporlarını gözlemleyin
Başarılı hata ayıklama raporu, ilişkilendirme raporuyla aynıdır ve hem ilişkilendirme iki hata ayıklama anahtarı içerir.
{
"attribution_destination": "https://advertiser.example",
"randomized_trigger_rate": 0.0000025,
"report_id": "7d76ef29-d59e-4954-9fff-d97a743b4715",
"source_debug_key": "647775351539539",
"source_event_id": "760938763735530",
"source_type": "event",
"trigger_data": "0",
"trigger_debug_key": "156477391437535"
}
{
"aggregation_service_payloads": [
{
"debug_cleartext_payload": "omRkYXRhgqJldmFsdWVEAACAAGZidWNrZXRQPPhnkD+7c+wm1RjAlowp3KJldmFsdWVEAAARMGZidWNrZXRQJFJl9DLxbnMm1RjAlowp3GlvcGVyYXRpb25paGlzdG9ncmFt",
"key_id": "d5f32b96-abd5-4ee5-ae23-26490d834012",
"payload": "0s9mYVIuznK4WRV/t7uHKquHPYCpAN9mZHsUGNiYd2G/9cg87Y0IjlmZkEtiJghMT7rmg3GtWVPWTJU5MvtScK3HK3qR2W8CVDmKRAhqqlz1kPZfdGUB4NsXGyVCy2UWapklE/r7pmRDDP48b4sQTyDMFExQGUTE56M/8WFVQ0qkc7UMoLI/uwh2KeIweQCEKTzw"
}
],
"shared_info": "{\"api\":\"attribution-reporting\",\"attribution_destination\":\"https://advertiser.example\",\"debug_mode\":\"enabled\",\"report_id\":\"4a04f0ff-91e7-4ef6-9fcc-07d000c20495\",\"reporting_origin\":\"https://adtech.example\",\"scheduled_report_time\":\"1669888617\",\"source_registration_time\":\"1669852800\",\"version\":\"0.1\"}",
"source_debug_key": "647775351539539",
"trigger_debug_key": "156477391437535"
}
Ayrıntılı hata ayıklama raporları oluşturma
3. Adım: Kaynakta ve tetikleyici başlıklarında ayrıntılı hata ayıklamayı etkinleştirin.
Her iki Attribution-Reporting-Register-Source
içinde de debug_reporting
değerini true
olarak ayarlayın
ve Attribution-Reporting-Register-Trigger
.
Attribution-Reporting-Register-Source:
{
// … Usual fields for Attribution-Reporting-Register-Source
"debug_key":"938321351539743",
"debug_reporting": true // defaults to false if not present
}
Attribution-Reporting-Register-Trigger:
{
// … Usual fields for Attribution-Reporting-Register-Trigger
"debug_key":"938321351539743",
"debug_reporting": true // defaults to false if not present
}
4. adım: Ayrıntılı hata ayıklama raporlarını toplamak için uç nokta oluşturun
Hata ayıklama raporlarını toplamak için bir uç nokta oluşturun. Bu uç nokta benzer olmalıdır
ek bir debug/verbose
dizesiyle ana ilişkilendirme uç noktasına
yol:
https://adtech.example/.well-known/attribution-reporting/debug/verbose
Ayrıntılı hata ayıklama raporları oluşturulurken kaynak veya tetikleyici
kaydedildiğinde tarayıcı, ayrıntılı bir hata ayıklama raporunu hemen
Bu uç noktaya POST
isteği. Gelen ayrıntılı iletileri işlemek için sunucu kodunuz
hata ayıklama raporları aşağıdaki gibi görünebilir (düğüm uç noktasında burada):
// Handle incoming verbose debug reports
adtech.post(
'/.well-known/attribution-reporting/debug/verbose',
async (req, res) => {
// List of verbose debug reports is in req.body
res.sendStatus(200);
}
);
Başarı hata ayıklama raporlarının aksine, ayrıntılı raporlar için yalnızca bir uç nokta vardır. Etkinlik düzeyi ve toplu raporlarla ilgili ayrıntılı raporların tamamı, aynı uç noktaya gönderilir.
Demo kodu: ayrıntılı hata ayıklama raporları uç nokta
5. adım: Ayarlarınızın ayrıntılı hata ayıklama raporları oluşturacağını onaylayın
Çok sayıda ayrıntılı hata ayıklama raporu türü olsa da yalnızca ayrıntılı hata ayıklama ayarlarınızı yalnızca bir tür ayrıntılı hata ayıklama ile kontrol etme rapordur. Bu tek türde ayrıntılı hata ayıklama raporu doğru şekilde oluşturulduysa ve Bu, tüm ayrıntılı hata ayıklama raporu türlerinin doğru ayarlanacağı anlamına gelir. tüm ayrıntılı hata ayıklama raporlarında aynı aynı uç noktaya gönderilir.
chrome://attribution-internals
adresini tarayıcınızda açın.- İlişkilendirme ile ayarlanan sitenizde bir ilişkilendirmeyi (dönüşüm) tetikleyin
Raporlama. Hiç reklam etkileşimi (gösterim veya tıklama) olmadığı için
Bu dönüşümden önce,
trigger-no-matching-source
oluşturulacak. chrome://attribution-internals
uygulamasında Ayrıntılı hata ayıklama raporları sekmesini açın. vetrigger-no-matching-source
türünde ayrıntılı bir hata ayıklama raporunun oluşturuldu.- Sunucunuzda, uç noktanızın bu iletiyi hemen aldığını doğrulayın ayrıntılı hata ayıklama raporunu kullanabilirsiniz.
6. Adım: Ayrıntılı hata ayıklama raporlarını inceleyin
Tetikleyici zamanında oluşturulan ayrıntılı hata ayıklama raporları, hem kaynak tarafı hem de tetikleyici tarafı hata ayıklama anahtarı (tetikleyici için eşleşen bir kaynak varsa). Kaynak zamanda oluşturulan ayrıntılı hata ayıklama raporları, kaynak tarafı hata ayıklamayı içerir tuşuna basın.
Tarayıcı tarafından gönderilen, ayrıntılı hata ayıklama raporları içeren bir istek örneği:
[
{
"body": {
"attribution_destination": "http://arapi-advertiser.localhost",
"randomized_trigger_rate": 0.0000025,
"report_id": "92b7f4fd-b157-4925-999e-aad6361de759",
"source_debug_key": "282273499788483",
"source_event_id": "480041649210491",
"source_type": "event",
"trigger_data": "1",
"trigger_debug_key": "282273499788483"
},
"type": "trigger-event-low-priority"
},
{
"body": {
"attribution_destination": "http://arapi-advertiser.localhost",
"limit": "65536",
"source_debug_key": "282273499788483",
"source_event_id": "480041649210491",
"source_site": "http://arapi-publisher.localhost",
"trigger_debug_key": "282273499788483"
},
"type": "trigger-aggregate-insufficient-budget"
}
]
Her ayrıntılı rapor aşağıdaki alanları içerir:
Type
- Raporun oluşturulma nedeni Tüm ayrıntılı rapor türlerini ve her türe göre atılacak adımları öğrenmek için 3. Bölüm: Hata Ayıklama bölümünde ayrıntılı rapor referansı tarif defteri için de aynı durum geçerlidir.
Body
- Raporun gövdesi. Bu, girişin türüne bağlıdır. Ayrıntıları gözden geçirin 3. Bölüm: Hata Ayıklama yemek kitabı'nı inceleyin.
Bir isteğin gövdesinde en az bir, en fazla iki ayrıntılı rapor bulunur:
- Hata yalnızca etkinlik düzeyindeki raporları etkiliyorsa (veya yalnızca toplanabilir raporları etkiler). Kaynak veya tetikleyici kayıt hatası Bunun tek bir nedeni var: Dolayısıyla her hata için bir ayrıntılı rapor oluşturulabilir ve rapor türüne göre (etkinlik düzeyinde veya toplanabilir).
- Hata hem etkinlik düzeyini hem de toplanabilir verileri etkiliyorsa iki ayrıntılı rapor
raporlar (bir istisna: başarısızlık nedeni etkinlik düzeyindeki
toplu olarak yalnızca bir ayrıntılı rapor oluşturulur (örneğin:
trigger-no-matching-source
) olarak değiştirildi