Integracja DDM na potrzeby śledzenia aplikacji innych firm

Poniższy kompleksowy proces opisuje konfigurację po stronie reklamodawcy i wdrożenie po stronie firmy zewnętrznej wymagane do prowadzenia kampanii w usługach DoubleClick po stronie kupującego z użyciem rozwiązania do śledzenia aplikacji firmy zewnętrznej.

Więcej informacji o DoubleClick Digital Marketing oraz omówienie funkcji atrybucji w aplikacji znajdziesz na stronie z informacjami o DoubleClick Digital Marketing.

  1. Reklamodawca konfiguruje w DDM zdarzenie konwersji, które reprezentuje instalację lub konwersję (tylko Bid Manager – piksel konwersji) (Campaign Manager – aktywność Floodlight).

  2. Reklamodawca „łączy” zdarzenie konwersji DDM w interfejsie zewnętrznym i podaje kluczowe zmienne, które identyfikują reklamodawcę i grupę aktywności powodujących konwersję.

    • src to identyfikator reklamodawcy, który jest źródłem aktywności Floodlight.
    • cat to ciąg tagu aktywności, którego serwery Floodlight używają do identyfikowania grupy aktywności, do której należy aktywność.
    • type to ciąg tagu grupy identyfikujący grupę aktywności, z którą powiązana jest aktywność Floodlight.
    • u1, u2, ... (jeśli występują) to pary klucz-wartość zmiennych niestandardowych Floodlight.
  3. Reklamodawca dodaje zmienne, aby oznaczyć zbieranie zgody na potrzeby zgodności z ustawą DMA.

    • eea służy do identyfikowania użytkowników z Europejskiego Obszaru Gospodarczego.
      • eea=0 oznacza, że użytkownik nie pochodzi z Europejskiego Obszaru Gospodarczego.
      • eea=1 oznacza, że użytkownik pochodzi z Europejskiego Obszaru Gospodarczego.
    • ad_user_data to flaga zgody na wykorzystywanie danych użytkownika w celach reklamowych.
      • Wymagane tylko wtedy, gdy eea=1
      • ad_user_data=0 oznacza, że użytkownik nie wyraził zgody na przesyłanie do Google danych na poziomie użytkownika w celach reklamowych.
      • ad_user_data=1 oznacza, że użytkownik wyraził zgodę na przesyłanie do Google danych na poziomie użytkownika w celach reklamowych.
    • npa jest używana na potrzeby treści personalizujących reklamy.
      • npa=0 oznacza, że użytkownik wyraża zgodę na personalizację.
      • npa=1 oznacza, że użytkownik nie wyraził zgody na personalizację.
    • test_request_reason=dma można używać do testowania parametrów DMA;
      • Sprawdza wszystkie parametry DMA i zwraca ostrzeżenia.
      • Zwraca wielokrotną odpowiedź z fałszywymi kliknięciami.
      • Rejestruje konwersje jako konwersje testowe.
  4. Reklamodawca musi też przekazać firmom zewnętrznym swój konkretny token autoryzacji:

    token to alfanumeryczny ciąg znaków przypisany do reklamodawcy, który musi być przekazywany wraz z każdym żądaniem serwera do DDM.

  5. Reklamodawca prowadzi kampanię reklamową w aplikacji z tagami reklamowymi wyświetlanymi przez DBM na giełdach określających stawki w czasie rzeczywistym lub przez DCM w przypadku mediów kupionych bezpośrednio.

  6. Użytkownik widzi reklamy i je klika, a DDM rejestruje te zdarzenia.

  7. Gdy użytkownik zainstaluje aplikację lub wykona zdarzenie konwersji, np. „rozgrywka”, serwery zewnętrzne „pingują” DDM przy każdej aktywności w aplikacji:

    Przykładowy adres URL dla użytkownika spoza Europejskiego Obszaru Gospodarczego

    https://ad.doubleclick.net/ddm/s2s/appactivity/src=1234567;cat=fghij456;type=abcde123;u1=[friendlyname1];ord=1312312312;eea=0;npa=0
    

    Przykładowy adres URL dla użytkownika z Europejskiego Obszaru Gospodarczego

    https://ad.doubleclick.net/ddm/s2s/appactivity/src=1234567;cat=fghij456;type=abcde123;u1=[friendlyname1];ord=1312312312;eea=1;ad_user_data=1;npa=0
    

    gdzie:

    • src to identyfikator reklamodawcy, który jest źródłem aktywności Floodlight.
    • cat to ciąg tagu aktywności, którego serwery Floodlight używają do identyfikowania grupy aktywności, do której należy aktywność.
    • type to ciąg tagu grupy identyfikujący grupę aktywności, z którą powiązana jest aktywność Floodlight.
    • ord to liczba losowa, dzięki której tag Floodlight jest unikalny.
    • u1, u2, ... (jeśli występują) to pary klucz-wartość zmiennych niestandardowych Floodlight.
    • eea określa, czy użytkownik znajduje się w Europejskim Obszarze Gospodarczym.
    • ad_user_data określa, czy użytkownik wyraża zgodę na pliki cookie i pomiary.
    • npa określa, czy użytkownik wyraża zgodę na personalizację.

    z dodatkowymi parametrami wysyłanymi w ładunku JSON w ramach żądania HTTP POST:

    {
      "app": {
        "bundle": "com.rovio.angrybirds"
      },
      "device": {
        "ua": "Mozilla/5.0 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25",
        "ip": "108.176.57.230",
        "didmd5": "A2D2DA47AC2DE1BCA16883BD5CAA6F2F",
        "lmt": 1
      }
    }
    

    a token autoryzacji reklamodawcy jest przekazywany w nagłówku autoryzacji HTTP:

    Authorization: Token token="[advertiser authorization token string]"
    

    gdzie:

    • app (wymagany) to obiekt JSON reprezentujący aplikację, w której wystąpiła aktywność prowadząca do konwersji. Użyj app: {}, jeśli aplikacja, w której miało miejsce działanie prowadzące do konwersji, jest niedostępna.
    • bundle (jeśli jest dostępny) to pole obiektu aplikacji zawierające wartość tekstową nazwy pakietu w Sklepie Play lub identyfikatora w App Store.
    • device to obiekt JSON reprezentujący urządzenie, na którym doszło do konwersji.
    • ua to pole obiektu urządzenia reprezentujące ciąg znaków klienta użytkownika aplikacji, w której zarejestrowano aktywność. Ten parametr jest wymagany.
    • ip (jeśli jest dostępny) to adres IPv4 urządzenia. Ten parametr jest wymagany.
    • didmd5 to ciąg zaszyfrowany algorytmem MD5, który zawiera wartość identyfikatora IDFA lub identyfikatora wyświetlania reklam w Google Play zapisaną wielkimi literami.
    • lmt to liczba całkowita o wartości 1, jeśli użytkownik włączył opcję „Ogranicz śledzenie reklam” w przypadku identyfikatora IDFA lub AdID, albo 0, jeśli nie jest ona ustawiona.

    DDM odpowie w formacie JSON, czy zdarzenie konwersji jest przypisane do wyświetlenia lub kliknięcia reklamy wyświetlonej przez DCM. Jeśli odpowiedź brzmi „YES”, DDM przekaże dodatkowe informacje o zdarzeniu (ostatnie wyświetlenie lub kliknięcie):

    • Identyfikator reklamy
    • Identyfikator witryny
    • Identyfikator miejsca docelowego
    • Identyfikator kreacji
    • Sygnatura czasowa

    Przykładowa odpowiedź JSON może wyglądać tak:

    {
      "attributed": 1,  // Whether the conversion can be attributed to a DCM event.
      "last_impression_ad_id":283641088,
      "last_impression_site_id":1408067,
      "last_impression_placement_id":107616368,
      "last_impression_creative_id":60162352,
      "last_impression_timestamp":1415647607,
      "last_click_ad_id":283641088,
      "last_click_site_id":1408067,
      "last_click_placement_id":107616368,
      "last_click_creative_id":60162352,
      "last_click_timestamp":1415647657,
      "last_click_exclid":"CKm0nLKhyssCFceH2wod8l4I4A",
      "cps": <cps>,
      "ad_events": [
        <ad event objects>
      ],
      "warnings": [<warning strings>],
      "errors": [<error strings>],
    }
    

    gdzie:

    • attributed to wartość 1 (jeśli konwersję można przypisać do wyświetlenia lub kliknięcia) lub 0 (jeśli nie można jej przypisać).
    • last_impression_ad_id (if attributed = 1) to identyfikator reklamy ostatniego wyświetlenia.
    • last_impression_site_id (if attributed = 1) to identyfikator witryny ostatniego wyświetlenia.
    • last_impression_placement_id (if attributed = 1) to identyfikator miejsca docelowego ostatniego wyświetlenia.
    • last_impression_creative_id (if attributed = 1) to identyfikator kreacji w przypadku ostatniego wyświetlenia.
    • last_click_ad_id (jeśli atrybut attributed = 1 i kliknięcie zostało przypisane) to identyfikator reklamy ostatniego kliknięcia.
    • last_click_site_id (jeśli atrybucja = 1 i kliknięcie zostało przypisane) to identyfikator witryny ostatniego kliknięcia.
    • last_click_placement_id (jeśli atrybut attributed = 1 i kliknięcie zostało przypisane) to identyfikator miejsca docelowego ostatniego kliknięcia.
    • last_click_creative_id (jeśli atrybut „attributed” ma wartość 1 i kliknięcie zostało przypisane) to identyfikator kreacji w przypadku ostatniego kliknięcia.
    • last_click_exclid odpowiada unikalnemu identyfikatorowi kliknięcia wypełnianemu za pomocą makra %eiid!.

    Od marca 2024 r., kiedy zaczniemy egzekwować DMA, dostępne będą też te pola:

    • cps wskazuje, do której podstawowej usługi platformowej należy zdarzenie;
      • a : Reklamy
      • m : Mapy
      • p : Sklep Play
      • s : Wyszukiwarka
      • h : Zakupy
      • y : YouTube
    • ad_events to tablica obiektów ad_event zawierająca wszystkie zdarzenia konwersji.
      • Obiekt ad_event ma te pola:
      • product_type to ciąg znaków, który podaje produkt odpowiedzialny za konwersję. Może to być DCM lub DBM.
      • interaction_type to typ interakcji, która doprowadziła do zdarzenia. Może to być impression lub click.
      • conversion_metric to wskaźnik konwersji używany do atrybucji. Może to być conversion lub view_through_conversion.
      • timestamp to sygnatura czasowa systemu UNIX, w której wystąpiło zdarzenie reklamowe, z dokładnością do mikrosekund. Tej wartości należy używać w przypadku atrybucji ostatniego kliknięcia.
      • campaign_type określa typ kampanii, w której wyświetliło się zdarzenie związane z reklamą.
      • line_item_id (tylko DBM) to identyfikator elementu zamówienia DBM, który wygenerował zdarzenie reklamy.
      • line_item_name (tylko DBM) to nazwa elementu zamówienia DBM, który wygenerował zdarzenie reklamy.
      • placement_id (Tylko DCM) to identyfikator tagu miejsca docelowego DCM, który wygenerował zdarzenie reklamy.
      • placement_name (tylko DCM) to nazwa tagu miejsca docelowego DCM, który wygenerował zdarzenie reklamy.
      • external_customer_id to identyfikator reklamodawcy, który jest właścicielem kampanii, która wygenerowała zdarzenie reklamy.
        • Jeśli product to DBM, to pole zawiera identyfikator reklamodawcy DBM.
        • Jeśli product to DCM, to pole reprezentuje identyfikator reklamodawcy DCM.
      • creative_id to identyfikator jednostki reklamowej kreacji, która wygenerowała zdarzenie reklamy.
        • Jeśli product to DBM, to pole zawiera identyfikator kreacji DBM.
        • Jeśli product to DCM, to pole zawiera identyfikator kreacji DCM.
      • exchange_id (tylko DBM) to identyfikator giełdy, która wyświetliła reklamę DBM.
      • insertion_order_id (tylko DBM) to identyfikator zamówienia reklamowego DBM.
      • site_id (Tylko DCM) to identyfikator witryny DCM dla zdarzenia związanego z reklamą.
      • cps wskazuje, do której usługi platformy podstawowej należy zdarzenie związane z reklamą. Szczegółowe informacje znajdziesz w pełnym opisie pola cps we wcześniejszej części dokumentacji.
    • warnings to tablica ostrzeżeń wygenerowanych przez zdarzenie konwersji.
    • errors to tablica błędów wygenerowanych przez zdarzenie konwersji z kodami błędów HTTP w tych scenariuszach:

      • HTTP 204 jeśli przekroczono limit żądań.
      • HTTP 400, gdy żądanie jest uznawane za nieprawidłowe, np. gdy brakuje wymaganych parametrów, a serwer powrócił do śledzenia za pomocą piksela.
      • HTTP 401 jeśli token autoryzacyjny jest nieprawidłowy.
      • HTTP 404 w przypadku nieprawidłowych żądań.

    Reklamodawca będzie mógł wyświetlać w Twoim systemie raporty o kampaniach, a także raporty o konwersjach w usłudze DCM z tymi samymi parametrami.

    Dodatkowe przykłady odpowiedzi po wejściu w życie aktu DMA w marcu 2024 r.

    Przykład odpowiedzi śledzenia konwersji z atrybucją, w której konwersja jest przypisana do interakcji z reklamami w wyszukiwarce i YouTube, ale zgoda na użycie danych w różnych usługach w ramach klauzul 5(2)(b) i 5(2)(c) jest odrzucona w przypadku usług wyszukiwania i YouTube:

    {
      attributed: 1,
      last_impression_ad_id: 283641088,
      last_impression_site_id: 1408067,
      last_impression_placement_id: 107616368,
      last_impression_creative_id: 60162352,
      last_impression_timestamp: 1415647607,
      last_click_ad_id: 283641088,
      last_click_site_id: 1408067,
      last_click_placement_id: 107616368,
      last_click_creative_id: 60162352,
      last_click_timestamp: 1415647655,
      last_click_exclid: "CKm0nLKhyssCFceH2wod8l4I4A",
      cps: "s",
      ad_events: [{
          cps : "s",
          product_type: "DCM",
          interaction_type: "click",
          ad_event_type: "click",
          campaign_type: "Display",
          placement_id: 107616368,
          placement_name: "TEST PLACEMENT NAME",
          external_customer_id: 7480542,
          creative_id: 60162352,
          timestamp: 1415647655.123456,
          site_id: 1408067,
          }, {
          cps : "s",
          product_type:"DCM",
          interaction_type: "impression",
          ad_event_type: "impression",
          campaign_type: "Display",
          placement_id: 107616368,
          placement_name: "TEST PLACEMENT NAME",
          external_customer_id: 7480542,
          creative_id: 60162352,
          timestamp: 1415647607.123456,
          site_id: 1408067
          },{
          cps : "y",
          product_type: "DCM",
          ad_event_type: "click",
          campaign_type: "Display",
          placement_id: 107616370,
          placement_name: "Placement on Youtube",
          external_customer_id: 7480542,
          creative_id: 6016444,
          timestamp: 14344344.123456,
          site_id: 140806
          },
      ]}
    

    Przykład odpowiedzi potwierdzającej śledzenie konwersji w przypadku kampanii DBM:

    {
      attributed: 1,
      last_click_ad_id: 283641088,
      last_click_site_id: 1408067,
      last_click_placement_id: 107616368,
      last_click_creative_id :60162352,
      last_click_timestamp: 1415647655,
      last_click_exclid: "CKm0nLKhyssCFceH2wod8l4I4A"
      cps: "y",
      ad_events: [{
        product_type: "DBM",
        interaction_type: "click",
        ad_event_type: "click",
        campaign_type: "Display",
        line_item_id: 123456789,
        line_item_name: "TEST LINE ITEM NAME",
        external_customer_id: 2550,
        creative_id: 512333,
        exchange_id: 132,
        insertion_order_id: 523423,
        timestamp: 1432681913.123456
        cps: "y"
      },
      {
        product_type: "DCM",
        interaction_type: "click",
        campaign_type: "Display",
        placement_id: 9342323,
        placement_name: "TEST PLACEMENT NAME",
        external_customer_id: 7480542,
        creative_id: 8234234,
        timestamp: 1432681913.123456,
        cps: "y"
      }
    ]}