Dopasowywanie plików cookie

Ogólnie dopasowywanie plików cookie polega na tym, że reklamodawca lub dostawca wiąże pliki cookie ze swojej domeny z plikami cookie z domeny Google. Dopasowywanie tych plików cookie pozwala łączyć należące do Ciebie dane własne z danymi reklam Google (śledzonymi przez Display & Video 360 i Campaign Managera 360) z uwzględnieniem tego samego użytkownika. Możesz dzięki temu korzystać z danych z systemu CRM i lepiej poznawać zachowania użytkowników. Łącząc te dane za pomocą złączeń zapewniających zachowanie prywatności, możesz:

  • kierować reklamy na odbiorców na podstawie konkretnych produktów porzuconych w koszyku, o ile użytkownicy ci weszli wcześniej w interakcję z Twoimi reklamami i Twoją domeną;
  • sprawdzać, które reklamy prowadzą do dłuższych sesji w Twojej domenie;
  • analizować historię zakupów złączoną z danymi uzyskanymi podczas prowadzenia kampanii.

Ograniczenia oraz prywatność użytkowników

Mimo że dopasowywanie plików cookie jest bardzo skuteczne, wiąże się ono z pewnymi ograniczeniami:

  • Złączanie tabel *_match i innych niż *_match jest zabronione.
  • Wymaga wykonywania działań przez Twoich inżynierów i inżynierów Google.
  • Prawdopodobnie nie uda Ci się dopasować wszystkich danych reklam Google. Współczynniki dopasowania są warunkowane przez wiele czynników i zmieniają się w zależności od przypadku użycia i konfiguracji po stronie klienta. Współczynniki dopasowania są często niższe od oczekiwanych przez użytkowników. Pliki cookie użytkowników można dopasowywać tylko wtedy, gdy weszli oni w interakcję z Twoją domeną i reklamami.
  • Google rozpocznie wypełnianie tabel odpowiedników, gdy tylko zostaną one skonfigurowane. W zależności od tego, jak często użytkownicy odwiedzają Twoją witrynę i otrzymują piksel dopasowujący, może minąć nawet kilka miesięcy, zanim tabele odpowiedników będą zawierać pełne, stabilne dane o Twoich użytkownikach.
  • Nie możesz przypisywać pojedynczych użytkowników do wielu urządzeń, chyba że są oni zalogowani lub masz jakiś sposób na ich łączenie na różnych urządzeniach.
  • Nie możesz dopasowywać pojedynczego użytkownika za pomocą wielu plików cookie ani dopasowywać go, gdy usunie pliki cookie.
  • Zadania wykonywane w tabelach odpowiedników podlegają takim samym wymaganiom dotyczącym agregacji jak pozostałe zadania w Centrum danych reklam. Niski współczynnik dopasowania w połączeniu z małą częstotliwością wizyt w Twojej domenie mogą spowodować problemy z uzyskaniem danych. Wynika to z połączonego wpływu współczynników dopasowania i wymagań dotyczących agregacji1.
  • Zgodnie z zasadami Google dotyczącymi prywatności użytkownika:
    • nie możesz dopasowywać danych użytkownika dotyczących zalogowania się i wylogowania;
    • nie możesz dopasowywać danych dotyczących zalogowania się, które obejmują większą liczbę kont;
    • nie możesz dopasowywać danych do użytkowników, którzy zrezygnowali z personalizacji reklam;
  • w przypadku zdarzeń w iOS możesz dopasowywać tylko dane pochodzące z aplikacji na iOS w wersji 14.5 lub nowszej i na dodatek uzyskane wyłącznie od użytkowników, którzy udzielili zgody w ramach platformy App Tracking Transparency firmy Apple.

Aby umożliwić Google wypełnianie tabel odpowiedników, musisz umieścić tag dopasowywania na każdej stronie w domenie, w której chcesz dopasowywać dane reklamowe. Umiejscowienie piksela zależy od celów reklamowych. Może Ci np. zależeć na dopasowywaniu wszystkich użytkowników odwiedzających Twoją domenę (wymaga umieszczenia pikseli na niemal każdej stronie) lub tylko użytkowników, którzy dokonali konwersji (wymaga umieszczenia pikseli na stronie konwersji). Ogólnie na im większej liczbie stron masz piksele, tym lepsze uzyskasz współczynniki dopasowania.

Tag dopasowywania to przezroczysty piksel 1 x 1, który zawiera identyfikator profilu dopasowywania plików cookie oraz zakodowany identyfikator użytkownika lub pliku cookie:

<img src="https://cm.g.doubleclick.net/pixel?google_nid=adh_customername&google_hm=Q29va2llIG51bWJlciAxIQ" />

To właśnie tag dopasowywania inicjuje komunikację między Twoją witryną a usługami Google do dopasowywania plików cookie.

Opis szczegółowy

  1. Użytkownik odwiedza stronę z tagiem dopasowywania.
  2. Tag dopasowywania inicjuje serię przekierowań do usług dopasowywania Google Marketing Platform, Google Ads i YouTube. Żądania zawierają identyfikator użytkownika lub plik cookie z Twojej witryny oraz plik cookie Google w każdej przestrzeni identyfikatorów usługi dopasowywania.
  3. Do przeglądarki zwracany jest przezroczysty piksel 1 x 1, aby potwierdzić, że żądanie zostało zrealizowane.

Cały proces pokazano na tym diagramie:

Obraz przedstawiający serię przekierowań między przeglądarką a usługami dopasowywania

Konfiguracja

Proces konfiguracji dopasowywania plików cookie w Centrum danych reklam przebiega w ten sposób:

  1. Kontaktujesz się z opiekunem klienta, aby poinformować go, że interesuje Cię dopasowywanie plików cookie. Omawia on z Tobą cele, które chcesz zrealizować, i podaje Ci więcej informacji na temat wdrażania w Twojej domenie piksela śledzącego.
  2. Specjaliści Centrum danych reklam umawiają się z Tobą na kolejną rozmowę, aby przedyskutować wymagania techniczne i przypadki użycia.
  3. Podczas wdrażania piksela śledzącego i punktu końcowego błędów Google tworzy tabele odpowiedników.

Po wykonaniu tych czynności nie musisz niczego robić. Google będzie codziennie wypełniać Twoje tabele odpowiedników2. Musisz odczekać odpowiednio dużo czasu, aby tabela zawierała ilość danych zapewniającą sensowne dopasowania i spełnianie wymagań dotyczących agregacji. Długość tego czasu zależy od częstotliwości, z jaką użytkownicy odwiedzają Twoją stronę. Witryna, do której większość użytkowników zagląda każdego dnia, szybciej uzyska niezbędną ilość danych niż witryna, którą użytkownicy z reguły odwiedzają tylko raz w miesiącu. Gdy spadnie tempo przyrostu nowej liczby dopasowań netto, tabele odpowiedników będą zawierać bardziej kompleksowe dane.

Wykonywanie zapytań dotyczących tabel odpowiedników

Gdy tabele odpowiedników zawierają wystarczającą ilość danych, aby spełnić wymagania mechanizmów kontroli prywatności, możesz wykonywać zapytania dotyczące tych tabel.

Każdej tabeli w schemacie Centrum danych reklam, która zawiera pole user_id, towarzyszy tabela *_match. Na przykład w przypadku tabeli adh.google_ads_impressions Centrum danych reklam generuje też tabelę odpowiedników o nazwie adh.google_ads_impressions_match, która zawiera Twoje identyfikatory użytkowników.

Te tabele obejmują podzbiór użytkowników dostępnych w pierwotnych tabelach dopasowanych do identyfikatorów user_id. Jeśli na przykład pierwotna tabela zawiera dane dotyczące użytkowników A i B, ale dopasowane zostanie tylko konto użytkownika A, użytkownik B nie znajdzie się w tabeli odpowiedników.

Tabele odpowiedników zawierają dodatkową kolumnę o nazwie external_cookie, która przechowuje plik cookie w postaci bajtów.

Podczas tworzenia zapytań należy zwracać uwagę na typ pola. Operatory porównania SQL wymagają, aby porównywane literały były tego samego typu. Ostrzeżenie: w zależności od sposobu, w jaki w tabeli danych własnych przechowywane są dane (user_id), przed przystąpieniem do dopasowywania danych może być konieczne zakodowanie wartości w tabeli. Aby zapewnić prawidłowe dopasowanie, musisz przeformatować klucz łączenia na bajty:

JOIN ON
  adh.google_ads_impressions_match.external_cookie = CAST(my_data.user_id AS BYTES)

Poza tym porównania ciągów znaków w języku SQL uwzględniają wielkość liter, więc dokładne porównywanie ciągów znaków może wymagać ich zakodowania po obu stronach porównania.

Kodowanie identyfikatorów użytkowników

Kodowanie identyfikatorów użytkowników po stronie klienta

Aby bezpiecznie przekazywać w adresie URL różne formaty identyfikatorów, przed wysłaniem wszystkie identyfikatory muszą zostać zakodowane w odpowiedniej odmianie formatu Base64. Identyfikator zdekodowany z formatu Base64 przeznaczonego do bezpiecznego przesyłania w adresie URL zostanie udostępniony w Centrum danych reklam w polu external_cookie. Aby więc uzyskać pierwotny identyfikator, musisz cofnąć wszystkie przekształcenia zastosowane przed jego zakodowaniem.

Jeśli identyfikator ma zawsze co najwyżej 24 znaki (lub bajty), możesz umieścić w pikselu identyfikator zakodowany w formacie Base64 przeznaczonym do bezpiecznego przesyłania w adresie URL, tak jak w przykładzie 1. Jeśli identyfikator ma więcej niż 24 znaki (lub bajty), musisz go przekształcić na postać o długości maksymalnie 24 bajtów. W niektórych przypadkach (np. identyfikator UUID w przykładzie 2) konieczne jest przekształcenie do postaci bajtów. W innych sytuacjach musisz wysyłać do Google podzbiór (czyli hasz) identyfikatora. Pamiętaj, że zawsze musisz się upewnić, że możesz utworzyć kod złączający w SQL, który w taki sam sposób przekształci identyfikator z tabeli danych własnych.

Przykład 1

Wartość identyfikatora użytkownika zawsze mieści się w limicie 24 bajtów. Centrum danych reklam zaleca wysyłanie identyfikatora użytkownika po prostu bezpośrednio do tej usługi (po zakodowaniu go w formacie Base64 przeznaczonym do bezpiecznego przesyłania w adresie URL).

var userId = 'abcdef123456789';
// Encode the string (or number) in normal base64.
var userIdBase64 = btoa(userId);

// Ensure that the uploaded user IDs use web-safe Base64 encoding.
userIdBase64 = userIdBase64.replace(/\+/g, '-').replace(/\//g, '_')
    .replace(/=+$/, '');

// After encoding the UUID correctly, you can create the request tag and
// insert it into the DOM.
var imgElement = Document.createElement('img');
imgElement.src =
    'https://cm.g.doubleclick.net/pixel?google_nid=adh_customername&google_hm='
    + userIdBase64;
document.body.appendChild(imgElement);
Przykład 2

Jako identyfikator użytkownika przypisujesz wartość uniwersalnego unikalnego identyfikatora (UUID), np. 123e4567-e89b-12d3-a456-426655440000.

Centrum danych reklam zaleca, aby podczas dopasowywania wykonywać takie przekształcenia:

  1. Identyfikator UUID jest sformatowany jako ciąg o długości 36 znaków.
  2. Stosuj dekodowanie identyfikatora UUID do postaci w kodzie szesnastkowym.
  3. Identyfikator UUID jest sformatowany pod postacią bajtów.
  4. Stosuj kodowanie bajtów w formacie Base64 przeznaczonym do bezpiecznego przesyłania w adresie URL.
  5. Identyfikator UUID jest sformatowany pod postacią ciągu znaków.

Można go stosować za pomocą tego kodu:

JavaScript

var userId = '123e4567-e89b-12d3-a456-426655440000';

// A helper function for converting a hex string to a byte array.
function strToBytes(str) {
        for (var bytes = [], i = 0; i < str.length; i += 2) {
          bytes.push(parseInt(str.substr(i, 2), 16));
        }
        return bytes;
}

// Remove the formatting dashes from the UUID.
userId = userId.replace(/-/g, '');

// Encode the hex string as a byte array.
var userIdBytes = strToBytes(userId);

// Encode the byte array in normal base64.
var userIdBase64 = btoa(String.fromCharCode(...new Uint8Array(userIdBytes)));

// Ensure that the uploaded user IDs use web-safe Base64 encoding.
userIdBase64 = userIdBase64.replace(/\+/g, '-').replace(/\//g, '_').replace(
    /=+$/, '');

// After encoding the UUID correctly, you can create the request tag and
// insert it into the DOM.
var imgElement = Document.createElement('img');
imgElement.src =
    'https://cm.g.doubleclick.net/pixel?google_nid=adh_customername&google_hm='
    + userIdBase64;
document.body.appendChild(imgElement);

Python

import base64

user_id = '123e4567-e89b-12d3-a456-426655440000'
user_id_as_bytes = bytes.fromhex(user_id.replace('-', ''))
base64.urlsafe_b64encode(user_id_as_bytes)

Jeśli występuje dopasowanie do identyfikatora użytkownika Google, pole external_cookie zawiera Twój identyfikator pod postacią wartości w bajtach. Aby odtworzyć pierwotny identyfikator, musisz zastosować to przekształcenie:

  1. Pole external_cookie jest sformatowane pod postacią bajtów.
  2. Stosuj kodowanie szesnastkowe pola external_cookie.
  3. Pole external_cookie jest sformatowane pod postacią ciągu znaków.

Kodowanie identyfikatorów użytkowników w Centrum danych reklam

Jeśli przechowujesz ciąg identyfikatora UUID w polu w danych własnych, musisz go przekształcić do postaci bajtów (jak w przykładzie powyżej), aby móc złączyć dane.

Z przykładu poniżej dowiesz się, jak zakodować identyfikator UUID i złączyć go za pomocą pola zewnętrznego pliku cookie:

JOIN my_data ON imp.external_cookie = FROM_HEX(REPLACE(my_data.uuid, '-', ''))

Pamiętaj, że nie można rzutować liczb całkowitych na bajty. Jeśli identyfikator użytkownika jest liczbą całkowitą (jak w przykładzie 1 powyżej), musisz go najpierw rzutować na ciąg znaków:

JOIN my_data ON imp.external_cookie = CAST(CAST(my_data.user_id AS STRING) AS BYTES)

Pamiętaj, że kodowanie wymagane do dopasowywania danych zależy od sposobu, w jaki były one przechowywane i zakodowane przed przesłaniem do Centrum danych reklam.

Więcej informacji o funkcjach w języku SQL BigQuery związanych z ciągami znaków

Przykładowe zapytanie

Ten przykład złącza dane własne z tabelą google_ads_impressions_match, a potem w drugim zapytaniu złącza te wyniki z tabelą adh_google_ads_impressions.

SELECT
  imp.campaign_id as campaign_id,
  sum(my_data.recent_orders) as orders,
  average(my_data.lifetime_value) as ltv
FROM
  adh.google_ads_impressions_match as imp
LEFT JOIN
  my_data ON imp.external_cookie = my_data.company_guest_id_bytes
GROUP BY
  campaign_id

Po zapisaniu wyników poprzedniego zapytania jako tabeli previous_results możesz ją złączyć z tabelą google_ads_impressions. Spowoduje to dodanie do Twoich wyników danych o kampaniach z zerową liczbą wyświetleń.

SELECT
  campaign_id,
  COALESCE(orders, 0) as orders,
  COALESCE(ltv, 0) as ltv,
FROM (SELECT DISTINCT campaign_id
   FROM adh.google_ads_impressions)
LEFT JOIN previous_results USING (campaign_id)

  1. Przykład: współczynnik dopasowania równy 20% oznacza, że do osiągnięcia progu agregacji wynoszącego 50 użytkowników potrzebujesz 250 użytkowników na wiersz, ponieważ 50 / 0,2 = 250. 

  2. Dopasowania tworzone w konkretnym dniu mogą się pojawiać w tabelach z opóźnieniem wynoszącym do 48 godzin.