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 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) dahildir. Google'ın mülkiyetinde ve işletiminde olmayan 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 dokümanda, kullanıcı tarafından sağlanan veri eşleştirme özelliği açıklanmakta ve kurulum ile kullanım hakkında yol gösterici bilgiler verilmektedir.
Özel Bulut Eşleşmesine Genel Bakış
Değerli reklamcılık analizleri elde etmek için genellikle birden fazla kaynaktan gelen verileri bir araya getirmek gerekir. Bu veri ardışık düzeni sorununa kendi çözümünüzü oluşturmak için önemli miktarda zaman ve mühendislik yatırımı yapmanız gerekir. Ads Data Hub'daki Private Cloud Match, BigQuery'de bir eşleşme tablosu oluşturmak için 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 (1P) 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 çerezlerinin desteğinin sonlandırılacak olması bu durumdan etkilenmez. Üçüncü taraf verilerine kıyasla sektördeki değişikliklere karşı daha dirençli olduğundan daha zengin analizler sağlayabilir. Bu da müşteri etkileşimini artırabilir.
Süreç özeti
- Veri beslemesi ve eşleştirme ayarlarını yapma
- Birinci taraf verilerinizin BigQuery'de bulunduğundan ve hizmet hesabınızın bu verilere okuma erişiminin olduğundan emin olun. Veri beslemeyi ayarlama başlıklı makaleyi inceleyin.
- Birinci taraf verilerini besleme ve eşleştirme
- Birinci taraf verilerinizi siz biçimlendirir ve BigQuery veri kümenize yüklersiniz.
- Siz, Private Cloud eşleşme analizi sorgusu oluşturarak ve 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 projeniz ile Google'a ait verileri (Google'ın kullanıcı kimliğini ve kullanıcı tarafından sağlanan karma oluşturma işlemi uygulanmış verileri içeren) birleştirir.
- Birinci taraf verilerini besleme başlıklı makaleyi inceleyin.
- Eşleşen verilere dayalı olarak Ads Data Hub'da devam eden sorgular
- Eşleşme tablolarında sorguları, Ads Data Hub'da normal sorguları çalıştırdığınız şekilde çalıştırırsınız. Eşleşen verileri sorgulayın başlıklı makaleyi inceleyin.
Gizlilik koşulları hakkında bilgi
Müşteri verilerini toplama
Kullanıcı tarafından sağlanan verileri eşleştirme özelliğini kullanırken birinci taraf verileri yüklemeniz gerekir. Bu bilgiler web sitelerinizden, uygulamalarınızdan, fiziksel mağazalarınızdan veya müşterilerin doğrudan sizinle paylaştığı bilgiler olabilir.
Bu politika uyarınca:
- Gizlilik politikanızda, müşteri verilerini sizin adınıza hizmet verebilmeleri için üçüncü taraflarla paylaştığınızı belirtmeli ve yasal gereksinimlerin söz konusu olduğu durumlarda böylesi bir paylaşım için onay 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 için gereken izni 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ı uygular:
- Kullanıcı listenize en az 1.000 kayıt yüklemeniz gerekir.
- Listeniz maksimum kayıt sayısını aşmamalıdır. Maksimum veri sınırı hakkında bilgi edinmek için Google temsilcinizle iletişime geçin.
Veri beslemeyi ayarlama
Başlamadan önce aşağıdakilerden 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şlemi uygulanmalıdır. Daha ayrıntılı bilgi için sonraki bölüme bakın.
Bunun dışında Private Cloud Match için ek oryantasyon gerekmez. Analiz sorgusu çalıştırabiliyorsanız Private Cloud eşleme sorgusu da çalıştırabilirsiniz.
Birinci taraf verilerini besleme ve eşleme
Verileri giriş için biçimlendirme
Verilerinizin doğru şekilde eşleştirilebilmesi için aşağıdaki biçimlendirme koşullarına uyması gerekir:
- Aşağıdaki giriş alanı açıklamalarında belirtildiği durumlarda SHA256 karma oluşturma işlemini kullanarak yükleme yapmanız gerekir.
- Giriş alanları dize olarak biçimlendirilmelidir. Örneğin, BigQuery'nin SHA256 karma işlevini Base64 kodlama işleviyle (TO_BASE64) kullanıyorsanız aşağıdaki dönüşümü kullanın:
TO_BASE64(SHA256(user_data))
. - UPDM, Base64 kodlamasını destekler. Birinci taraf verilerinizin kodlamasını, Ads Data Hub sorgunuzda kullanılan kod çözme işlemiyle uyumlu hale getirmeniz gerekir. Birinci taraf veri kodlamanızı değiştirirseniz Ads Data Hub sorgunuzu, aynı tabandan kod çözecek şekilde güncellemeniz gerekir. Aşağıdaki örneklerde Base64 kodlaması kullanılmaktadır.
Kullanıcı Kimliği
- Düz metin
- Karma oluşturma: Yok
E-posta
- Baştaki ve sondaki boşlukları kaldırın
- Tüm karakterleri küçük harfle yazın
- Tüm e-posta adresleri gmail.com veya hotmail.co.jp gibi bir alan adı içermelidir.
- Aksan işaretlerini kaldırın (ör. è, é, ê veya ë yerine e yazın)
gmail.com
vegooglemail.com
e-posta adreslerinde alan adından önce gelen tüm noktaları (.) kaldırın- Karma oluşturma: Base64 kodlu SHA256
Geçerli: TO_BASE64(SHA256("jeffersonloveshiking@gmail.com"))
Geçersiz: TO_BASE64(SHA256(" Jéfferson.Lôves.Hiking@gmail.com "))
Telefon
- Boşlukları kaldır
- E.164 biçiminde biçimlendirin. ABD örneği: +14155552671, Birleşik Krallık örneği: +442071838750
- Ülke kodundan önceki "+" dışındaki tüm özel karakterleri kaldırın
- Karma oluşturma: Base64 kodlu SHA256
Geçerli: 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 kaldırın (ör. Sayın, Bayan, Dr.
- Aksan işaretlerini (ör. è, é, ê veya ë) kaldırmayın.
- Karma oluşturma: Base64 kodlu SHA256
Geçerli: TO_BASE64(SHA256("daní"))
Geçersiz: TO_BASE64(SHA256("Mrs. Daní"))
Soyadı
- Boşlukları kaldır
- Tüm karakterleri küçük harfle yazın
- Tüm son ekleri kaldırın (ör. Sr., 2., 3., II, III, PHD, MD
- Aksan işaretlerini (ör. è, é, ê veya ë) kaldırmayın.
- Karma oluşturma: Base64 kodlu SHA256
Geçerli: 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 alpha-2 ülke kodlarını kullanın
- Karma oluşturma: Yok
Geçerli: 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 haneli 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, boşluk ve özel karakterleri kaldırmaya gerek yoktur)
- Posta kodu uzantısı girmeyin
- Karma oluşturma: Yok
Karma doğrulama ve veri kodlaması
Verilerinizin doğru şekilde biçimlendirildiğinden emin olmak için aşağıdaki karma oluşturma 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ış listesi verilmiştir. Adres kullanıyorsanız ad, soyadı, ülke ve posta kodu bilgilerini eklemeniz gerekir.
- E-posta, Telefon, Adres (en güçlü)
- Telefon, Adres
- E-posta, Adres
- E-posta, Telefon
- Adres
- Telefon
- E-posta (en zayıf)
Eşleşme tablosu oluşturma
Raporlar > Rapor oluştur > Özel bulut eşleşme tablosu oluşturma > Şablonu kullan'ı tıklayın. İsteğe bağlı: Verileriniz karma oluşturma işlemine tabi tutulmamışsa Karma oluşturma ile özel bulut eşleşme tablosu oluşturma'yı seçebilirsiniz.
// Create a new match table using your first party data with this template. /* Parameters: Manually remove all the parameters tagged with @ prefix and replace them with column names from your first party table: * @user_id * @email * @phone * @first_name * @last_name * @country_code * @postal_code And your BigQuery table information: * @my_project: Your BigQuery project where the first party table is. * @my_dataset: Your dataset where the first party table is. * @my_first_party_table: Your first party table. */ CREATE OR REPLACE TABLE adh.updm_match_table AS ( SELECT CAST(@user_id AS BYTES) AS user_id, @email AS email, @phone AS phone, @first_name AS first_name, @last_name AS last_name, @country_code AS country, @postal_code AS zip_code FROM `@my_project.@my_dataset.@my_first_party_table` );
Doğru takma ad sağlamak için parametre adlarını sütun adlarınızla değiştirin.
Gizlilik gürültüsü ayarını "Fark kontrolleri kullan" olarak değiştirin.
Eşleşme tablonuzun ne sıklıkta yenilenmesini istediğinize dair bir sıklık belirlemek için Program ayarla'yı tıklayın. Her çalıştırma, mevcut eşleşme tablosunun üzerine yazar.
Eşleşen verileri sorgulayın
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 gösterilir.
Bu, hem kimliği tanımlayabilecek bilgiler (PII) hem de kimliği tanımlayabilecek olmayan verileri içerir.
Orijinal tablo, bir eşleştirme tablosuna kıyasla kapsamdaki tüm birinci taraf verilerini temsil ettiğinden, 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 tablolar için ayrı eşleşme tabloları oluşturulur. Örneğin Ads Data Hub, adh.google_ads_impressions_policy_isolated_youtube
tablosu için kullanıcı kimliklerinizi içeren adh.google_ads_impressions_policy_isolated_youtube_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ı tanımlayıcısını 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 gösterim 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ı olan 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ının 1 Ekim 2024'ten itibaren kullanılabildiğini unutmayın. Bu tarihten önceki eşleşme oranlarını hesaplamak için bu alanı 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 ve Google Ads verilerini birleştirme
Bu sorgu, birinci taraf verilerinin Google Ads 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'lerin listesi için KTSVE hakkında SSS başlıklı makaleyi inceleyin.