İlişkilendirme Raporları için hata ayıklama raporları oluşturma

İ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)

ziyaret edin.

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ı

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

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
  • 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

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
}

Demo kodu: kaynak başlık

Demo kodu: tetikleyici başlık

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.

  1. chrome://attribution-internals adresini tarayıcınızda açın.
  2. İ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.
  3. chrome://attribution-internals uygulamasında Ayrıntılı hata ayıklama raporları sekmesini açın. ve trigger-no-matching-source türünde ayrıntılı bir hata ayıklama raporunun oluşturuldu.
  4. 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

Sıradaki

3. bölüm: Hata ayıklama için tarif defteri