Kullanıcı tarafından sağlanan verileri eşleştirme

Kullanıcı tarafından sağlanan verileri eşleştirme (KTSVE), bir kullanıcı hakkında topladığınız birinci taraf verilerini (ör. web siteleriniz, uygulamalarınız veya fiziksel mağazalarınızdan edinilen bilgiler), Google'ın sahip olduğu ve işlettiği veriler de dahil olmak üzere tüm Google reklam verilerinde söz konusu kullanıcının oturumu açıkken gerçekleştirdiği etkinliklerle birleştirir. Buna, Google Marketing Platform (GMP) ürünleri aracılığıyla satın alınan veriler (ör. Display & Video 360 kullanılarak satın alınan YouTube verileri) dahildir. Google'a ait olmayan ve Google tarafından işletilmeyen diğer GMP ürünleri desteklenmez.

Kullanıcı tarafından sağlanan verileri eşleştirmeye uygun olması için reklam etkinliğinin Google reklam verilerindeki oturum açmış bir kullanıcıya bağlanması gerekir.

Bu belgede, kullanıcı tarafından sağlanan verileri eşleştirme özelliği açıklanmakta ve kurulum ile kullanımla ilgili bilgiler verilmektedir.

Özel Bulut Eşleşmesi'ne Genel Bakış

Değerli reklamcılık analizleri elde etmek için genellikle birden fazla kaynaktan gelen verileri birleştirmek gerekir. Bu Data Pipelines sorununa kendi çözümünüzü oluşturmak için önemli ölçüde zaman ve mühendislik yatırımı yapmanız gerekir. Private Cloud Match in Ads Data Hub, BigQuery'de eşleşme tablosu oluşturmak için bir Ads Data Hub sorgu şablonu sağlayarak bu süreci kolaylaştırır. Bu tablo daha sonra reklam verilerinizi birinci taraf verilerinizle eşleştirmek için Ads Data Hub sorgularınızda kullanılabilir. Sorgularınızın kapsamını birinci taraf verileriyle genişletmek daha zengin müşteri deneyimleri sağlayabilir ve sorguları sektör genelindeki reklam izleme değişikliklerine karşı daha dirençli kılar.

Kullanıcı tarafından sağlanan verileri eşleştirme, yalnızca oturum açmış kullanıcılar için Google mülkiyetindeki ve Google tarafından işletilen envanterde kullanılabildiğinden, yakında üçüncü taraf çerezler kullanımdan kaldırılacağında bu durumdan etkilenmez. Üçüncü taraf verilerine kıyasla sektördeki değişikliklere karşı daha dirençli olduğu için daha zengin analizler sunarak müşteri etkileşimini artırabilir.

Süreç özeti

  1. Veri kullanımı ve eşleştirme ayarları
    • Siz Birinci taraf verilerinizin BigQuery'de bulunduğundan ve hizmet hesabınızın bu verilere okuma erişimi olduğundan emin olun. Veri kullanımını ayarlama başlıklı makaleyi inceleyin.
  2. Birinci taraf verilerini kullanma ve eşleştirme
    • Siz, birinci taraf verilerinizi biçimlendirir ve BigQuery veri kümenize yüklersiniz.
    • Siz, birPrivate Cloud Match analiz sorgusu oluşturup bir program ayarlayarak veri eşleştirme isteği başlatırsınız.
    • Google, eşleşme tabloları oluşturmak ve güncellemek için projenizdeki veriler ile Google'ın kullanıcı kimliğini ve kullanıcı tarafından sağlanan, karma oluşturulmuş verileri içeren Google'a ait verileri birleştirir.
    • Birinci taraf verilerini alma bölümüne bakın.
  3. Ads Data Hub'da eşleşen verilere dayalı devam eden sorgular
    • Eşleşme tablolarında sorgu çalıştırma işlemi, Ads Data Hub'da normal sorgu çalıştırma işlemiyle aynıdır. Eşleşen verileri sorgulama bölümünü inceleyin.

Gizlilik şartları hakkında bilgi

Müşteri verilerini toplama

Kullanıcı tarafından sağlanan verileri eşleştirme özelliğini kullanırken birinci taraf verilerini yüklemeniz gerekir. Bu bilgiler web sitelerinizden, uygulamalarınızdan, fiziksel mağazalarınızdan topladığınız bilgiler veya bir müşterinin sizinle doğrudan paylaştığı bilgiler olabilir.

Bu politika uyarınca:

  • Gizlilik politikanızda, sizin adınıza hizmet verebilmeleri için müşteri verilerini üçüncü taraflarla paylaştığınızın belirtildiğinden ve yasal koşulların gerekli olduğu durumlarda bu tür bir paylaşım için izin aldığınızdan emin olmalısınız.
  • Müşteri verilerini yüklemek için yalnızca Google'ın onayladığı API'yi veya arayüzü kullanmalısınız.
  • İlgili tüm özdenetim veya sektör kuralları da dahil olmak üzere geçerli tüm yasa ve yönetmeliklere uymalısınız.

Birinci taraf izni onayı

Ads Data Hub'da birinci taraf verilerinizi kullanabilmek için AEA'daki son kullanıcılardan alınan verileri, AB kullanıcı rızası politikası ve Ads Data Hub politikasına uygun şekilde Google ile paylaşmak üzere gereken rızayı aldığınızı doğrulamanız gerekir. Bu koşul tüm Ads Data Hub hesapları için geçerlidir ve yeni birinci taraf verileri yüklediğiniz her seferde güncellenmelidir. Bu onayı, hesabın tamamı adına herhangi bir kullanıcı verebilir.

Analiz sorguları için geçerli olan Google hizmeti sorgu kurallarının, UPDM sorguları için de geçerli olduğunu unutmayın. Örneğin eşleşme tablosu oluşturduğunuzda, AEA'daki kullanıcılarla ilgili hizmetler arası sorgular yürütemezsiniz.

Ads Data Hub'da izni nasıl onaylayacağınızı öğrenmek için Avrupa Ekonomik Alanı için kullanıcı rızası koşulları sayfasını inceleyin.

Veri boyutu

Kullanıcı tarafından sağlanan verilerin eşleştirilmesi, son kullanıcı gizliliğini korumak için verilerinizin boyutuyla ilgili aşağıdaki koşulları zorunlu kılar:

  • Kullanıcı listenize en az 1.000 kayıt yüklemeniz gerekir.

Veri kullanımını ayarlama

Başlamadan önce şunlardan emin olun:

  • Birinci taraf verileriniz BigQuery'de olmalıdır. VPC-SC çevreniz varsa bu birinci taraf verileri VPC-SC'nizde bulunmalıdır.
  • Ads Data Hub hizmet hesabınızın birinci taraf verilerine okuma erişimi olmalıdır.
  • Birinci taraf verileriniz doğru şekilde biçimlendirilmeli ve karma oluşturma işlemine tabi tutulmalıdır. Daha ayrıntılı bilgi için sonraki bölüme bakın.

Bunun dışında, Private Cloud Match için ek bir ilk katılım süreci yoktur. Analiz sorgusu çalıştırabiliyorsanız Private Cloud Match sorgusu da çalıştırabilirsiniz.

Birinci taraf verilerini alma ve eşleştirme

Kaynak izinleri ve bağlantı koşulları

Ads Data Hub Bağlantıları, Ayarlar > Ayrıntılar > Hizmet hesabı bölümünde gösterilen hizmet hesabını (genellikle service-<number>@gcp-sa-adsdatahub.iam.gserviceaccount.com) kullanır. Bu hesaba aşağıdaki rolleri verin:

  • BigQuery kaynağı: Kaynak veri kümesi veya tabloda roles/bigquery.dataViewer (BigQuery Veri Görüntüleyicisi).
  • Cloud Storage kaynağı: Kaynak pakette veya nesnede roles/storage.objectViewer (Depolama Alanı Nesnesi Görüntüleyici).
  • Birinci taraf verilerini içe aktarma hedefi: Tablo, varsayılan veri kümenizde değilse hedef veri kümesinde roles/bigquery.dataEditor (BigQuery Veri Düzenleyicisi).

Alan ve veri türü koşulları

  1. Kullanıcı tarafından sağlanan verileri eşleştirme (UPDM):
    • user_id ve en az bir kimliği tanımlayabilecek bilgi alanını (email, phone veya tam adres: first_name, last_name, country, zip_code) eşleyin.
    • user_id, country ve zip_code: düz metin STRING (karma oluşturulmamış). BigQuery kaynağı için bu sütunlar STRING olmalıdır. Diğer türler (ör. INT64) bağlantı oluşturulurken başarısız olur. Bağlantılar, eşleşme tablosunda user_id değerini BYTES değerine dönüştürür. country 2 harfli bir ISO 3166-1 alfa-2 kodu olmalıdır.
    • email, phone, first_name ve last_name: HASH: SHA-256 karma oluşturma işlemi uygulanmış ve Base64 olarak kodlanmış olmalıdır (64 karakterlik onaltılık SHA-256 değeri de kabul edilir). Connections, verileri karma oluşturma işlemine tabi tutmaz. Düz metin değerleri, bağlantı oluşturulurken yakalanmaz. Bu nedenle, her çalıştırma ... must be encoded using TO_BASE64(SHA256(...)) ile başarısız olur.
    • Kullanıcı tarafından sağlanan verileri eşleştirme bağlantılarının hedef tablosu yok. Bir hesaptaki tüm sorgular ve manuel olarak çalıştırılan KTSVE sorguları aynı eşleşme verilerine yazılır. Bu nedenle, her çalıştırma bir öncekini değiştirir. Hesap başına bir UPDM bağlantısı yeterlidir.
    • Alana özgü kurallar için Giriş verilerini biçimlendirme bölümüne bakın.
  2. Birinci taraf verilerini içe aktarma:
    • Yalnızca kullanıcı arayüzünde sunulan veri türlerini kullanın: INTEGER, STRING, HASH, DOUBLE, DATE ve TIMESTAMP. Diğer BigQuery türleri desteklenmez.
    • BigQuery kaynağı: Eşlenen tür uygulanmaz. Her hedef sütun, kaynak sütununun türünü korur.
    • Cloud Storage kaynağı: Sütunlar STRING olarak okunur ve eşlenen türe dönüştürülür. Dönüştürülemeyen değerler, çalıştırma başarısız olmadan NULL olur.
    • Her çalıştırma, hedef tablonun tamamını değiştirir; ekleme yapmaz. Kaynakta satır yoksa hedef boş olur. Kaynak tabloyu veya verilerini saklamanız gereken bir tabloyu hedef olarak kullanmayın.

Cloud Storage CSV sütun şartları

  • Bir başlık satırı ekleyin. İlk satır atlanır ve sütun adları kullanılmaz.
  • Dosya, eşlenen kaynak sütunların tamamını içermelidir. Ek sütunlar, çalıştırmanın başarısız olmasına neden olur.
  • Birinci taraf verilerini içe aktarma: Sütunlar, alan eşlemeleriyle aynı sırada olmalıdır.
  • Kullanıcı tarafından sağlanan verileri eşleştirme: Sütunlar, yalnızca eşlediğiniz alanları içerecek şekilde şu sırada olmalıdır: user_id, email, phone, first_name, last_name, country, zip_code. Eşleme satırlarının sırası önemli değildir.
  • Farklı bir sütun sırası algılanmaz: Değerler, hata olmadan yanlış alanlara yüklenir (veya eşleşme oranları düşer).

Desteklenen veri kaynakları ve bağlantı sınırları

  • Veri kaynakları: Yalnızca BigQuery ve Cloud Storage kaynakları desteklenir.
  • BigQuery tablo adları: Kaynak ve hedef BigQuery tabloları için tam project.dataset.table adı gerekir.
  • Cloud Storage dosya yolları: Tek bir dosya URI'si (ör. gs://bucket/path/file.csv) sağlayın. * veya ? içeren joker karakter yolları desteklenmez.
  • Bağlantı adları: Bir hesaptaki her bağlantının benzersiz bir adı olmalıdır.

Giriş için verileri biçimlendirme

Verilerinizin doğru şekilde eşleştirilmesi için aşağıdaki biçimlendirme koşullarına uyması gerekir:

  • Aşağıdaki giriş alanı açıklamalarında belirtilen yerlerde, SHA256 karma oluşturma işlemini kullanarak yükleme yapmanız gerekir.
  • UPDM, Base64 kodlamasını destekler. TO_BASE64 işlevini inceleyin.
  • Giriş alanları dize olarak biçimlendirilmelidir. Örneğin, BigQuery SHA256 karma işlevini kullanıyorsanız aşağıdaki dönüşümü kullanın: TO_BASE64(SHA256(user_data)).

Kullanıcı Kimliği

  • Veri türü: BYTES
  • Karma oluşturma: Yok

E-posta

  • Baştaki ve sondaki boşlukları kaldırma
  • Tüm karakterleri küçük harfle yazın
  • Tüm e-posta adresleri için gmail.com veya hotmail.co.jp gibi bir alan adı ekleyin.
  • Aksan işaretlerini kaldırın (ör. è, é, ê veya ë harflerini e olarak değiştirin).
  • gmail.com ve googlemail.com e-posta adreslerinde alan adından önce gelen tüm noktaları (.) kaldırın.
  • Karma oluşturma: Base64 kodlamalı SHA256

Geçerlilik: TO_BASE64(SHA256("jeffersonloveshiking@gmail.com"))

Geçersiz: TO_BASE64(SHA256("JéffersonLôvesHiking@gmail.com"))

Telefon

  • Boşlukları kaldır
  • E.164 biçiminde biçimlendirin. Örneğin, ABD için +14155552671, Birleşik Krallık için +442071838750
  • Ülke kodundan önceki "+" işareti hariç tüm özel karakterleri kaldırın.
  • Karma oluşturma: Base64 kodlamalı SHA256

Geçerlilik: TO_BASE64(SHA256("+18005550101"))

Geçersiz: TO_BASE64(SHA256("(800) 555-0101"))

Ad

  • Boşlukları kaldır
  • Tüm karakterleri küçük harfle yazın
  • Tüm ön ekleri (ör. Bayan) kaldırın. Bay Bayan Dr.
  • Aksan işaretlerini (ör. è, é, ê veya ë) kaldırmayın.
  • Karma oluşturma: Base64 kodlamalı SHA256

Geçerlilik: TO_BASE64(SHA256("daní"))

Geçersiz: TO_BASE64(SHA256("Daní"))

Soyadı

  • Boşlukları kaldır
  • Tüm karakterleri küçük harfle yazın
  • Jr. gibi tüm son ekleri kaldırın. Sr., 2., 3., II, III, PHD, MD
  • Aksan işaretlerini (ör. è, é, ê veya ë) kaldırmayın.
  • Karma oluşturma: Base64 kodlamalı SHA256

Geçerlilik: TO_BASE64(SHA256("délacruz"))

Geçersiz: TO_BASE64(SHA256("dé la Cruz, Jr."))

Ülke

  • Tüm müşteri verileriniz aynı ülkeden olsa bile ülke kodunu ekleyin
  • Ülke verilerine karma oluşturma işlemi uygulamayın
  • ISO 3166-1 alfa-2 ülke kodlarını kullanın.
  • Karma oluşturma: Yok

Geçerlilik: US

Geçersiz: United States of America veya USA

Posta kodu

  • Posta kodu verilerine karma oluşturma işlemi uygulamayın
  • Hem ABD hem de uluslararası posta kodlarına izin verilir
  • ABD için:
    • 5 basamaklı kodlara izin verilir (ör. 94043).
    • 5 basamak ve ardından 4 basamaklı uzantılara da izin verilir (ör. 94043-1351 veya 940431351).
  • Diğer tüm ülkeler için:
    • Biçimlendirme gerekmez (Küçük harf kullanmaya veya boşlukları ve özel karakterleri kaldırmaya gerek yoktur)
    • Posta kodu uzantısı girmeyin
  • Karma oluşturma: Yok

Karma doğrulama ve veri kodlama

Verilerinizin doğru şekilde biçimlendirildiğinden emin olmak için aşağıdaki karma doğrulama komut dosyalarını kullanabilirsiniz.

JavaScript

  /**
   * @fileoverview Provides the hashing algorithm, as well as some valid hashes of
   * sample data for testing.
  */

  async function hash(token) {
    // Removes leading or trailing spaces and converts all characters to lowercase.
    const formattedToken = token.trim().toLowerCase();
    // Hashes the formatted string using the SHA-256 hashing algorithm.
    const hashBuffer = await crypto.subtle.digest(
        'SHA-256', (new TextEncoder()).encode(formattedToken));
    // Converts the hash buffer to a base64-encoded string and returns it.
    const base64Str = btoa(String.fromCharCode(...new Uint8Array(hashBuffer)));
    return base64Str;
  }

  function main() {
    // Expected hash for test@gmail.com:
    // h5JGBrQTGorO7q6IaFMfu5cSqqB6XTp1aybOD11spnQ=
    hash('test@gmail.com').then(result => console.log(result));

    // Expected hash for +18005551212:
    // YdkRG+0+bZz8G8O1yzWkAmh8TxVGvuBhor1ET73WTEQ=
    hash('+18005551212').then(result => console.log(result));

    // Expected hash for John: ltljLzY1ZMwwMlIUCc8iqFLyAy7sCZ7VlnwNAAzsYHo=
    hash('John').then(result => console.log(result));

    // Expected hash for Doe: eZ75KhGvkY4/t0HfQpNPO1aO0tk6wd908bjUGieTKm8=
    hash('Doe').then(result => console.log(result));
  }

  main()

Python

  """Provides the hashing algorithm, as well as some valid hashes of sample data for testing.

  Supports: Python 2, Python 3

  Sample hashes:

    - Email 'test@gmail.com': h5JGBrQTGorO7q6IaFMfu5cSqqB6XTp1aybOD11spnQ=
    - Phone '+18005551212':   YdkRG+0+bZz8G8O1yzWkAmh8TxVGvuBhor1ET73WTEQ=
    - First name 'John':      ltljLzY1ZMwwMlIUCc8iqFLyAy7sCZ7VlnwNAAzsYHo=
    - Last name 'Doe':        eZ75KhGvkY4/t0HfQpNPO1aO0tk6wd908bjUGieTKm8=
  """

  import base64
  import hashlib

  def hash(token):
  # Generates a base64-encoded SHA-256 hash of a normalized input string.
    return base64.b64encode(
        hashlib.sha256(
            token.strip().lower().encode('utf-8')).digest()).decode('utf-8')

  def print_hash(token, expected=None):
  # Computes and displays the hash of a token, with optional validation.
    hashed = hash(token)

    if expected is not None and hashed != expected:
      print(
          'ERROR: Incorrect hash for token "{}". Expected "{}", got "{}"'.format(
              token, expected, hashed))
      return

    print('Hash: "{}"\t(Token: {})'.format(hashed, token))

  def main():
  # Tests the hash function with sample tokens and expected results.
    print_hash(
        'test@gmail.com', expected='h5JGBrQTGorO7q6IaFMfu5cSqqB6XTp1aybOD11spnQ=')
    print_hash(
        '+18005551212', expected='YdkRG+0+bZz8G8O1yzWkAmh8TxVGvuBhor1ET73WTEQ=')
    print_hash('John', expected='ltljLzY1ZMwwMlIUCc8iqFLyAy7sCZ7VlnwNAAzsYHo=')
    print_hash('Doe', expected='eZ75KhGvkY4/t0HfQpNPO1aO0tk6wd908bjUGieTKm8=')

  if __name__ == '__main__':
    main()

Go

  /*
  Provides the hashing algorithm, as well as some valid hashes of sample data for testing.

  Sample hashes:

    - Email 'test@gmail.com': h5JGBrQTGorO7q6IaFMfu5cSqqB6XTp1aybOD11spnQ=
    - Phone '+18005551212':   YdkRG+0+bZz8G8O1yzWkAmh8TxVGvuBhor1ET73WTEQ=
    - First name 'John':      ltljLzY1ZMwwMlIUCc8iqFLyAy7sCZ7VlnwNAAzsYHo=
    - Last name 'Doe':        eZ75KhGvkY4/t0HfQpNPO1aO0tk6wd908bjUGieTKm8=
  */
  package main

  import (
    "crypto/sha256"
    "encoding/base64"
    "fmt"
    "strings"
  )

  // Hash hashes an email, phone, first name, or last name into the correct format.
  func Hash(token string) string {
    formatted := strings.TrimSpace(strings.ToLower(token))
    hashed := sha256.Sum256([]byte(formatted))
    encoded := base64.StdEncoding.EncodeToString(hashed[:])
    return encoded
  }

  // PrintHash prints the hash for a token.
  func PrintHash(token string) {
    fmt.Printf("Hash: \"%s\"\t(Token: %s)\n", Hash(token), token)

  }

  func main() {
    PrintHash("test@gmail.com")
    PrintHash("+18005551212")
    PrintHash("John")
    PrintHash("Doe")
  }

Java

  package updm.hashing;

  import static java.nio.charset.StandardCharsets.UTF_8;

  import java.security.MessageDigest;
  import java.security.NoSuchAlgorithmException;
  import java.util.Base64;

  /**
  * Example of the hashing algorithm.
  *
  * <p>Sample hashes:
  *
  * <ul>
  *   <li>Email 'test@gmail.com': h5JGBrQTGorO7q6IaFMfu5cSqqB6XTp1aybOD11spnQ=
  *   <li>Phone '+18005551212': YdkRG+0+bZz8G8O1yzWkAmh8TxVGvuBhor1ET73WTEQ=
  *   <li>First name 'John': ltljLzY1ZMwwMlIUCc8iqFLyAy7sCZ7VlnwNAAzsYHo=
  *   <li>Last name 'Doe': eZ75KhGvkY4/t0HfQpNPO1aO0tk6wd908bjUGieTKm8=
  * </ul>
  */
  public final class HashExample {

  private HashExample() {}

  public static String hash(String token) {
    // Normalizes and hashes the input token using SHA-256 and Base64 encoding.
    String formattedToken = token.toLowerCase().strip();

    byte[] hash;
    try {
      hash = MessageDigest.getInstance("SHA-256").digest(formattedToken.getBytes(UTF_8));
    } catch (NoSuchAlgorithmException e) {
      throw new IllegalStateException("SHA-256 not supported", e);
    }

    return Base64.getEncoder().encodeToString(hash);
  }

  public static void printHash(String token) {
    // Calculates and prints the hash for the given token.
    System.out.printf("Hash: \"%s\"\t(Token: %s)\n", hash(token), token);
  }

  public static void main(String[] args) {
    // Executes hash calculations and prints results for sample tokens.
    printHash("test@gmail.com");
    printHash("+18005551212");
    printHash("John");
    printHash("Doe");
  }
  }

SQL

  /*
  Provides the hashing algorithm, as well as some valid hashes of sample data for testing.

  The following code uses Google Standard SQL and can be run on BigQuery to generate match tables from unhashed data.

  Sample hashes:

    - Email 'test@gmail.com': h5JGBrQTGorO7q6IaFMfu5cSqqB6XTp1aybOD11spnQ=
    - Phone '+18005551212':   YdkRG+0+bZz8G8O1yzWkAmh8TxVGvuBhor1ET73WTEQ=
    - First name 'John':      ltljLzY1ZMwwMlIUCc8iqFLyAy7sCZ7VlnwNAAzsYHo=
    - Last name 'Doe':        eZ75KhGvkY4/t0HfQpNPO1aO0tk6wd908bjUGieTKm8=

  The unhashed input table schema is assumed to be:

  - Column name: UserID, Type: String
  - Column name: Email, Type: String
  - Column name: Phone, Type: String
  - Column name: FirstName, Type: String
  - Column name: LastName, Type: String
  - Column name: PostalCode, Type: String
  - Column name: CountryCode, Type: String
  */

  -- Creates a new table with Base64-encoded SHA-256 hashes of specified columns.
  CREATE TABLE `your_project_name.your_dataset_name.output_hashed_table_name`
  AS
  SELECT
    UserID,
    TO_BASE64(SHA256(LOWER(Email))) AS Email,
    TO_BASE64(SHA256(Phone)) AS Phone,
    TO_BASE64(SHA256(LOWER(FirstName))) AS FirstName,
    TO_BASE64(SHA256(LOWER(LastName))) AS LastName,
    PostalCode,
    CountryCode,
  FROM
    `your_project_name.your_dataset_name.input_unhashed_table_name`;

Katılma tuşları

Kullanıcı tarafından sağlanan verilerin bazı kombinasyonları diğerlerinden daha güçlüdür. Aşağıda, kullanıcı tarafından sağlanan farklı veri kombinasyonlarının göreceli güce göre sıralanmış bir listesi verilmiştir. Adres kullanıyorsanız şunları eklemeniz gerekir: Ad, Soyadı, Ülke ve Posta kodu.

  1. E-posta, telefon, adres (en güçlü)
  2. Telefon, Adres
  3. E-posta, Adres
  4. E-posta, Telefon
  5. Adres
  6. Telefon
  7. E-posta (en zayıf)

Eşleşme tablosu oluşturma

  1. add Oluştur > Rapor'u tıklayın.
  2. Özel bulut eşleşme tablosu oluşturma şablonunu seçin. İsteğe bağlı: Verilerinize henüz karma oluşturma işlemi uygulanmadıysa Özel bulut eşleşme tablosu oluşturma (karma oluşturarak) seçeneğini belirleyebilirsiniz.
  3. Sorguyu düzenle'yi tıklayın ve ardından, doğru takma ad oluşturma işlemi için parametre adlarını sütun adlarınızla değiştirin.
  4. Eşleşme tablonuzun ne sıklıkta yenilenmesini istediğinizi ayarlamak için Program ayarla'yı tıklayın. Her çalıştırma, mevcut eşleşme tablosunun üzerine yazılır.

Mevcut bağlantıları taşıma

Bağlantılar sekmesindeki mevcut bağlantılar, doğrudan Ads Data Hub'da yerleşik olarak bulunan güncellenmiş bir Bağlantılar deneyimine taşınıyor. Güncellenen bağlantılar, eski Data Fusion, Dataproc ve UPDM hizmet hesapları yerine Ayarlar > Ayrıntılar > Hizmet hesabı (genellikle service-<number>@gcp-sa-adsdatahub.iam.gserviceaccount.com) bölümünde gösterilen hizmet hesabını kullanarak kaynakları okur ve hedefleri yazar.

Bağlantılarınız taşınmadan önce şu işlem öğelerini tamamlayın:

  1. Hizmet hesabı izinleri verme: Ayarlar > Ayrıntılar > Hizmet hesabı bölümünde gösterilen hizmet hesabına (genellikle service-<number>@gcp-sa-adsdatahub.iam.gserviceaccount.com) gerekli kaynak ve hedef rollerini (varsayılan olmayan hedef veri kümelerinde roles/bigquery.dataViewer, roles/storage.objectViewer ve roles/bigquery.dataEditor) verin. Okunamayan, silinen veya değiştirilen kaynaklara sahip bağlantılar taşınabilir (özellikle taşıma sırasında doğrulanmayan Cloud Storage kaynakları). Ancak erişim izni verene veya kaynağı düzeltene kadar çalıştırma işlemleri başarısız olur.
  2. Desteklenmeyen bağlantıları dönüştürün: Aşağıdaki yapılandırmalara sahip bağlantılar taşınmaz. Bunları desteklenen BigQuery veya Cloud Storage bağlantılarına dönüştürün:
    • Diğer veri kaynakları (Amazon S3, Snowflake, MySQL, PostgreSQL, Amazon Redshift, sFTP veya Salesforce): Verileri önce BigQuery veya Cloud Storage'da hazırlayın, ardından BigQuery ya da Cloud Storage bağlantısı oluşturun.
    • Desteklenmeyen alan eşlemeleri veya veri türleri: Alan ve veri türü koşullarını karşılamak için bağlantıyı güncelleyin veya yeniden oluşturun.
    • Cloud Storage joker karakter yolları (* veya ?): Joker karakter URI'sini tek bir dosya URI'siyle değiştirin veya dosyaları önce BigQuery'ye yükleyin.
    • Yinelenen bağlantı adları: Hesaptaki her bağlantının benzersiz bir adı olması için yinelenen bağlantıları yeniden adlandırın veya silin.
  3. Kullanılmayan bağlantıları silme: Artık ihtiyacınız olmayan eski bağlantıları silin.

Sorguyla eşleşen veriler

Eşleşme tablolarını sorgulama

Eşleşme tablolarınız gizlilik kontrollerini karşılamaya yetecek kadar veri içerdiğinde tablolarda sorgu çalıştırmaya hazırsınız demektir.

Birinci taraf verileri (1PD) için orijinal tablo my_data ile temsil edilir. Bu, hem kişisel veri (PII) hem de kişisel veri olmayan (PII olmayan) bilgileri içerir. Orijinal tabloyu kullanmak, kapsamdaki tüm 1PD verilerini temsil ettiği için raporlarınızı daha fazla analizle iyileştirebilir.

Ads Data Hub şemasında, user_id alanı içeren her tabloya bir eşleşme tablosu eşlik eder. Örneğin Ads Data Hub, adh.google_ads_impressions tablosu için kullanıcı kimliklerinizi içeren adh.google_ads_impressions_updm adlı bir eşleşme tablosu da oluşturur. Politikadan bağımsız ağ tabloları için ayrı eşleşme tabloları oluşturulur. Örneğin Ads Data Hub, adh.google_ads_impressions_policy_isolated_network tablosu için kullanıcı kimliklerinizi içeren adh.google_ads_impressions_policy_isolated_network_updm adlı bir eşleşme tablosu da oluşturur.

Bu tablolar, orijinal tablolarda bulunan ve user_id alanında eşleşmenin bulunduğu bir alt kümeyi içerir. Örneğin orijinal tablo hem Kullanıcı A hem de Kullanıcı B için veri içeriyorsa ancak yalnızca Kullanıcı A eşleşiyorsa Kullanıcı B eşleşme tablosunda yer almaz.

Eşleşme tabloları, customer_data_user_id adlı ek bir sütun içerir. Bu sütun, kullanıcı kimliğini BYTES olarak depolar.

Sorgularınızı yazarken alanın türünü dikkate almanız önemlidir. SQL karşılaştırma operatörleri, karşılaştırdığınız dizelerin aynı türde olmasını bekler. user_id içeriğinin birinci taraf verileri tablonuzda nasıl depolandığına bağlı olarak, verileri eşleştirmeden önce tablodaki verileri kodlamanız gerekebilir. Başarılı eşleşmeler için birleştirme anahtarınızı BYTES'e yayınlamanız gerekir:

JOIN ON
  adh.google_ads_impressions_updm.customer_data_user_id = CAST(my_data.user_id AS BYTES)

Ayrıca, SQL'deki dize karşılaştırmaları büyük/küçük harfe duyarlıdır. Bu yüzden, dizelerin doğru şekilde karşılaştırılabilmeleri için karşılaştırmanızın her iki tarafındaki dizeleri kodlamanız gerekebilir.

Örnek sorgular

Eşleşen kullanıcıları sayma

Bu sorgu, Google Ads reklam gösterimleri tablonuzdaki eşleşen kullanıcıların sayısını hesaplar.

/* Count matched users in Google Ads impressions table */

SELECT COUNT(DISTINCT user_id)
FROM adh.google_ads_impressions_updm

Eşleşme oranını hesaplama

Tüm kullanıcılar eşleştirme için uygun değildir. Örneğin, oturumu kapalı kullanıcılar, çocuklar ve izin vermeyen kullanıcılar UPDM aracılığıyla eşleştirilmez. Daha doğru KTSVE eşleşme oranları hesaplamak için is_updm_eligible alanını kullanabilirsiniz. is_updm_eligible alanı, 1 Ekim 2024'ten itibaren kullanılabilir. Bu alanı, bu tarihten önceki eşleşme oranlarını hesaplamak için kullanamazsınız.

/* Calculate the UPDM match rate */

CREATE TEMP TABLE total_events OPTIONS(privacy_checked_export=TRUE) AS
SELECT
  customer_id,
  COUNT(*) AS n
FROM adh.google_ads_impressions
WHERE is_updm_eligible
GROUP BY 1;

CREATE TEMP TABLE matched_events OPTIONS(privacy_checked_export=TRUE) AS
SELECT
  customer_id,
  COUNT(*) AS n
FROM adh.google_ads_impressions_updm
GROUP BY 1;

SELECT
  customer_id,
  SAFE_DIVIDE(matched_events.n, total_events.n) AS match_rate
FROM total_events
LEFT JOIN matched_events
  USING (customer_id)

Birinci taraf verilerini ve Google reklam verilerini birleştirme

Bu sorgu, birinci taraf verilerinin Google Ads reklam verileriyle nasıl birleştirileceğini gösterir:

/* Join first-party data with Google Ads data. The customer_data_user_id field
contains your ID as BYTES. You need to cast your join key into BYTES for
successful matches. */

SELECT
  inventory_type,
  COUNT(*) AS impressions
FROM
  adh.yt_reserve_impressions_updm AS google_data_imp
LEFT JOIN
  `my_data`
ON
  google_data_imp.customer_data_user_id = CAST(my_data.user_id AS BYTES)
GROUP BY
  inventory_type

KTSVE hakkında SSS

KTSVE ile ilgili SSS listesi için KTSVE SSS sayfasını inceleyin.