Сопоставление предоставленных пользователем данных

Обзор

UPDM (сопоставление данных, предоставленных пользователями) объединяет собственные данные, которые вы собрали о пользователе, например информацию с ваших веб-сайтов, приложений или физических магазинов, с действиями того же пользователя при входе в систему в рекламных данных Google, за исключением Google. Маркетинговая платформа. Чтобы иметь право на сопоставление предоставленных пользователем данных, рекламное событие должно быть связано с вошедшим в систему пользователем в рекламных данных Google.

Сопоставление данных, предоставленное пользователями, предлагает некоторые уникальные преимущества по сравнению с другими формами сопоставления клиентов. Сопоставление предоставленных пользователем данных:

  • Более устойчив к отраслевым изменениям, чем сторонние данные
  • На него не повлияет предстоящее прекращение поддержки сторонних файлов cookie, поскольку сопоставление данных, предоставленных пользователями, доступно только для инвентаря, принадлежащего и управляемого Google, для вошедших пользователей.
  • Может обеспечить более релевантное обслуживание клиентов, что часто приводит к более высокому вовлечению клиентов.
  • Предлагает более полную информацию о клиентах

Краткое описание процесса

После включения сопоставления предоставленных пользователем данных в вашей учетной записи существует два этапа дальнейшего использования этой функции:

  1. Получение собственных данных в Ads Data Hub
    • Вы форматируете и загружаете собственные данные в свой набор данных BigQuery. Вы можете использовать любой принадлежащий вам набор данных BigQuery, кроме вашего административного проекта .
    • Вы инициируете запрос на сопоставление данных, создавая подключение и расписание импорта.
    • Google объединяет данные между вашим проектом и принадлежащими Google данными, содержащими идентификатор пользователя Google и хешированные данные, предоставленные пользователями, для создания и обновления таблиц *_match .
  2. Текущие запросы в Ads Data Hub на основе сопоставленных данных

Источник данных и целевые проекты

Connections требует, чтобы вы использовали два разных проекта Google Cloud: проект источника данных и проект назначения.

Ограничения конфиденциальности

Сбор данных о клиентах

При использовании сопоставления данных, предоставленных пользователями, необходимо загружать собственные данные. Это может быть информация, которую вы собрали со своих веб-сайтов, приложений, физических магазинов или любая информация, которой клиент поделился с вами напрямую.

Размер данных

Чтобы защитить конфиденциальность конечных пользователей, при сопоставлении предоставленных пользователями данных применяются следующие требования в отношении размера ваших данных:

  • Вы должны загрузить не менее 1000 записей в свой список пользователей.
  • Каждое успешное обновление вашей таблицы совпадений должно включать минимальное количество новых сопоставленных пользователей. Это поведение похоже на проверку различий .
  • Ваш список не должен превышать максимальное количество записей. Чтобы узнать о максимальном лимите данных, обратитесь к представителю Google.

Включить вкладку «Подключения»

Прежде чем начать, настройте свою учетную запись Ads Data Hub, чтобы активировать вкладку « Подключения », где вы создадите конвейер сопоставления данных. Вам нужно будет выполнить эти шаги только один раз.

  1. Отправьте своему представителю Google:
    1. Идентификатор аккаунта Ads Data Hub, который вы будете использовать для сопоставления предоставленных пользователем данных.
    2. Адрес электронной почты суперпользователя, у которого есть доступ к вашему целевому проекту.
    3. Подтвердите у представителя Google, что учетная запись и суперпользователь находятся в белом списке.
  2. Включите Ads Data Connector API в указанном проекте Google Cloud. По умолчанию это ваш административный проект. Чтобы использовать другой проект, выполните следующие действия с альтернативным проектом Google Cloud в качестве проекта источника данных . Эти шаги необходимо выполнить, войдя в систему как суперпользователь из белого списка.

    1. Перейдите в библиотеку API Cloud Console .
    2. Выберите проект источника данных из списка.
    3. Найдите «API Ads Data Connector». Если Ads Data Connector API не отображается в результатах поиска, это может означать, что учетная запись Google, в которую выполнен вход, не является суперпользователем, внесенным в белый список.
    4. На странице API нажмите ВКЛЮЧИТЬ .
    5. Подтвердите у представителя Google, что API включен.
  3. Ваш представитель Google отправит вам три адреса электронной почты, обозначенные как сервисные аккаунты Datafusion , Dataproc и UPDM .

    В вашей учетной записи Ads Data Hub также появится новый раздел « Подключения », содержащий вкладки « Ваши данные 1P » и « Сопоставление данных» . Узнайте о вариантах использования каждой вкладки.

  4. Предоставьте соответствующие разрешения учетным записям службы. Чтобы узнать о различных учетных записях служб и требуемых для них разрешениях, выберите источник данных в таблице:

    Большой запрос

    Учетная запись службы слияния данных
    Цель Учетная запись службы объединения данных используется для отображения списка исходных полей в пользовательском интерфейсе Ads Data Hub.
    Формат service- some-number @gcp-sa-datafusion.iam.gserviceaccount.com
    Требуемый доступ
    BigQuery Data Viewer
    roles/bigquery.dataViewer
    для конкретных наборов данных в проектах источника и назначения данных
    Storage Admin
    roles/storage.admin
    для проекта источника данных или выделенного сегмента хранилища
    Учетная запись службы Dataproc
    Цель Учетная запись службы dataproc отвечает за запуск конвейеров данных в фоновом режиме.
    Формат some-number -compute@developer.gserviceaccount.com
    Требуемый доступ
    BigQuery Data Viewer
    roles/bigquery.dataViewer
    для конкретных наборов данных в проектах источника и назначения данных
    BigQuery Data Editor
    roles/bigquery.dataEditor
    для конкретных наборов данных в целевом проекте
    BigQuery Job User
    roles/bigquery.jobUser
    как для источников данных , так и для проектов назначения
    Storage Admin
    roles/storage.admin
    как для проектов источника данных , так и для проектов назначения или выделенного сегмента хранилища
    Учетная запись службы UPDM
    Цель Учетная запись службы UPDM используется для запуска соответствующего задания.
    Формат service- some-number @gcp-sa-adsdataconnector.iam.gserviceaccount.com
    Требуемый доступ
    BigQuery Data Viewer
    roles/bigquery.dataViewer
    для проекта « Назначение »
    BigQuery Job User
    roles/bigquery.jobUser
    для проекта « Назначение »

    Облачное хранилище

    Учетная запись службы слияния данных
    Цель Учетная запись службы объединения данных используется для отображения списка исходных полей в пользовательском интерфейсе Ads Data Hub.
    Формат service- some-number @gcp-sa-datafusion.iam.gserviceaccount.com
    Требуемый доступ
    Storage Object Viewer
    roles/storage.objectViewer
    для конкретных сегментов хранилища в проекте источника данных
    BigQuery Data Viewer
    roles/bigquery.dataViewer
    для проекта источника данных или выделенного сегмента хранилища
    Storage Admin
    roles/storage.admin
    для проекта источника данных или выделенного сегмента хранилища
    Учетная запись службы Dataproc
    Цель Учетная запись службы dataproc отвечает за запуск конвейеров данных в фоновом режиме.
    Формат some-number -compute@developer.gserviceaccount.com
    Требуемый доступ
    Storage Admin
    roles/storage.admin
    как для проектов источника данных , так и для проектов назначения или выделенного сегмента хранилища
    BigQuery Job User
    roles/bigquery.jobUser
    для проекта « Назначение »
    Учетная запись службы UPDM
    Цель Учетная запись службы UPDM используется для запуска соответствующего задания.
    Формат service- some-number @gcp-sa-adsdataconnector.iam.gserviceaccount.com
    Требуемый доступ
    BigQuery Data Viewer
    roles/bigquery.dataViewer
    для проекта « Назначение »
    BigQuery Job User
    roles/bigquery.jobUser
    для проекта « Назначение »

    отдел продаж

    Вскоре

Принимать собственные данные

Форматировать данные для ввода

Ваши данные должны соответствовать этим требованиям к форматированию для правильного сопоставления:

  • Если указано, вы должны загружать с использованием хеширования SHA256, закодированного в виде строки Base16. Хотя UPDM поддерживает Base64, это отличается от рекомендаций Google Ads Customer Match .
  • Поля ввода должны быть отформатированы как строки. Если вы используете хэш-функцию BigQuery SHA256 и функцию кодирования Base16 ( TO_HEX ), используйте следующее преобразование: TO_HEX(SHA256(user_data)) .

ID пользователя

  • Простой текст
  • Хэширование: нет

Эл. адрес

  • Удалить пробелы
  • Все символы в нижнем регистре
  • Включите доменное имя для всех адресов электронной почты, например gmail.com или hotmail.co.jp.
  • Удалите ударения, например, замените è, é, ê или ë на e
  • Хэширование: SHA256 в кодировке Base16

Допустимо: TO_HEX(SHA256("jeffersonloveshiking@gmail.com"))

Неверный: TO_HEX(SHA256("JéffersonLôvesHiking@gmail.com"))

Телефон

  • Удалить пробелы
  • Отформатируйте в формате E.164 — например, США +14155552671, Великобритания +442071838750)
  • Включить код страны (включая США)
  • Удалите все специальные символы, кроме «+» перед кодом страны.
  • Хэширование: SHA256 в кодировке Base16

Допустимо: TO_HEX(SHA256("+18005550101"))

Неверно: TO_HEX(SHA256("(800) 555-0101"))

Имя

  • Удалить пробелы
  • Все символы в нижнем регистре
  • Удалите все префиксы, такие как Mrs.
  • Не удаляйте акценты, например è, é, ê или ë
  • Хэширование: SHA256 в кодировке Base16

Допустимо: TO_HEX(SHA256("daní"))

Неверно: TO_HEX(SHA256("Daní"))

Фамилия

  • Удалить пробелы
  • Все символы в нижнем регистре
  • Удалите все префиксы, такие как Jr.
  • Не удаляйте акценты, например è, é, ê или ë
  • Хэширование: SHA256 в кодировке Base16

Допустимо: TO_HEX(SHA256("delacruz"))

Неверно: TO_HEX(SHA256("de la Cruz, Jr."))

Страна

  • Включите код страны, даже если все ваши данные о клиентах из одной и той же страны.
  • Не хешировать данные о стране
  • Используйте коды стран ISO 3166-1 alpha-2 .
  • Хэширование: нет

Действительно: US

Недействительно: United States of America или USA .

Почтовый индекс

  • Не хешируйте данные почтового индекса
  • Допускаются как американские, так и международные почтовые индексы и почтовые индексы.
  • Для нас:
    • Допускаются 5-значные коды, например, 94043.
    • Допускается также 5 цифр, за которыми следует 4-значный добавочный номер, например, 94043-1351 или 940431351.
  • Для всех остальных стран:
    • Форматирование не требуется (не нужно использовать строчные буквы или удалять пробелы и специальные символы)
    • Не указывать расширения почтовых индексов
  • Хэширование: нет

Проверка хэшей и кодирование данных

Вы можете использовать следующие сценарии проверки хэша, чтобы убедиться, что ваши данные правильно отформатированы.

JavaScript

База 16

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

async function hash(token) {
  const formattedToken = token.trim().toLowerCase();
  const hashArrayBuffer = await crypto.subtle.digest(
      'SHA-256', (new TextEncoder()).encode(formattedToken));
  return Array.from(new Uint8Array(hashArrayBuffer))
      .map((b) => b.toString(16).padStart(2, '0'))
      .join('');
}

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

  // Expected hash for +18005551212:
  // 61d9111bed3e6d9cfc1bc3b5cb35a402687c4f1546bee061a2bd444fbdd64c44
  hash('+18005551212').then(result => console.log(result));

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

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

main()

Base64

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

async function hash(token) {
  const formattedToken = token.trim().toLowerCase();
  const hashBuffer = await crypto.subtle.digest(
      'SHA-256', (new TextEncoder()).encode(formattedToken));
  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()

питон

База 16

"""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': 87924606b4131a8aceeeae8868531fbb9712aaa07a5d3a756b26ce0f5d6ca674
  - Phone '+18005551212':   61d9111bed3e6d9cfc1bc3b5cb35a402687c4f1546bee061a2bd444fbdd64c44
  - First name 'John':      96d9632f363564cc3032521409cf22a852f2032eec099ed5967c0d000cec607a
  - Last name 'Doe':        799ef92a11af918e3fb741df42934f3b568ed2d93ac1df74f1b8d41a27932a6f
"""

import base64
import hashlib

def updm_hash(token):
  return hashlib.sha256(token.strip().lower().encode('utf-8')).hexdigest()

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

def main():
  print_updm_hash('test@gmail.com')
  print_updm_hash('+18005551212')
  print_updm_hash('John')
  print_updm_hash('Doe')

if __name__ == '__main__':
  main()

Base64

"""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):
  return base64.b64encode(
      hashlib.sha256(
          token.strip().lower().encode('utf-8')).digest()).decode('utf-8')

def print_hash(token, expected=None):
  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():
  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()

Идти

База 16

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

Sample hashes:

  - Email 'test@gmail.com': 87924606b4131a8aceeeae8868531fbb9712aaa07a5d3a756b26ce0f5d6ca674
  - Phone '+18005551212':   61d9111bed3e6d9cfc1bc3b5cb35a402687c4f1546bee061a2bd444fbdd64c44
  - First name 'John':      96d9632f363564cc3032521409cf22a852f2032eec099ed5967c0d000cec607a
  - Last name 'Doe':        799ef92a11af918e3fb741df42934f3b568ed2d93ac1df74f1b8d41a27932a6f
*/
package main

import (
  "crypto/sha256"
  "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 := fmt.Sprintf("%x", 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")
}

Base64

/*
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")
}

Ява

База 16

package updm.hashing;

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

import com.google.common.base.Ascii;
import com.google.common.hash.Hashing;

/**
 * Example of the UPDM hashing algorithm using hex-encoded SHA-256.
*
* <p>This uses the Guava Hashing to generate the hash: https://github.com/google/guava
*
* <p>Sample valid hashes:
*
* <ul>
*   <li>Email "test@gmail.com": "87924606b4131a8aceeeae8868531fbb9712aaa07a5d3a756b26ce0f5d6ca674"
*   <li>Phone "+18005551212": "61d9111bed3e6d9cfc1bc3b5cb35a402687c4f1546bee061a2bd444fbdd64c44"
*   <li>First name "John": "96d9632f363564cc3032521409cf22a852f2032eec099ed5967c0d000cec607a"
*   <li>Last name "Doe": "799ef92a11af918e3fb741df42934f3b568ed2d93ac1df74f1b8d41a27932a6f"
* </ul>
*/
public final class HashExample {

  private HashExample() {}

  public static String hash(String token) {
    String formattedToken = Ascii.toLowerCase(token).strip();
    return Hashing.sha256().hashString(formattedToken, UTF_8).toString();
  }

  public static void printHash(String token) {
    System.out.printf("Hash: \"%s\"\t(Token: %s)\n", hash(token), token);
  }

  public static void main(String[] args) {
    printHash("test@gmail.com");
    printHash("+18005551212");
    printHash("John");
    printHash("Doe");
  }
}

Base64

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) {
  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) {
  System.out.printf("Hash: \"%s\"\t(Token: %s)\n", hash(token), token);
}

public static void main(String[] args) {
  printHash("test@gmail.com");
  printHash("+18005551212");
  printHash("John");
  printHash("Doe");
}
}

SQL

База 16

/*
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': 87924606b4131a8aceeeae8868531fbb9712aaa07a5d3a756b26ce0f5d6ca674
  - Phone '+18005551212':   61d9111bed3e6d9cfc1bc3b5cb35a402687c4f1546bee061a2bd444fbdd64c44
  - First name 'John':      96d9632f363564cc3032521409cf22a852f2032eec099ed5967c0d000cec607a
  - Last name 'Doe':        799ef92a11af918e3fb741df42934f3b568ed2d93ac1df74f1b8d41a27932a6f

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
*/

CREATE TABLE `your_project_name.your_dataset_name.output_hashed_table_name`
AS
SELECT
  UserID,
  TO_HEX(SHA256(LOWER(Email))) AS Email,
  TO_HEX(SHA256(Phone)) AS Phone,
  TO_HEX(SHA256(LOWER(FirstName))) AS FirstName,
  TO_HEX(SHA256(LOWER(LastName))) AS LastName,
  PostalCode,
  CountryCode,
FROM
  `your_project_name.your_dataset_name.input_unhashed_table_name`;

Base64

/*
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
*/

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`;

Присоединить ключи

Некоторые комбинации предоставленных пользователями данных более эффективны, чем другие. Вот список различных комбинаций данных, предоставленных пользователями, ранжированных по относительной силе:

  1. Электронная почта, телефон, адрес (самый сильный)
  2. Телефон, Адрес
  3. Адрес электронной почты
  4. электронная почта, телефон
  5. Адрес
  6. Телефон
  7. Электронная почта (самая слабая)

Создайте таблицу соответствий

  1. Щелкните Соединения > Сопоставление данных > Создать соединение .
  2. Выберите источник данных, затем нажмите Подключить . Выполните аутентификацию, если будет предложено, затем нажмите «Далее ».
  3. Настройте источник данных, затем нажмите «Далее »:

    Большой запрос

    Выберите таблицу BigQuery для импорта.

    Облачное хранилище

    Введите путь к файлу gsutil, например gs://my-bucket/folder/ , и выберите форматирование файла.

    отдел продаж

    Вскоре

  4. Укажите пункт назначения , затем нажмите «Далее »:
    1. Выберите новый набор данных BigQuery, который будет использоваться в качестве промежуточного назначения для данных. Этот шаг гарантирует, что ваши данные правильно отформатированы .
  5. Необязательно: измените формат ваших данных. Преобразования включают вычисление хэша, форматирование нижнего/верхнего регистра и слияние/разделение полей.
    1. Нажмите «Действие» > > «Преобразовать» .
    2. На появившейся панели нажмите « Добавить преобразование » или « Добавить другое преобразование ».
    3. Выберите тип преобразования из раскрывающегося меню и введите требования.
    4. Нажмите Сохранить .
  6. Выберите хотя бы один ключ объединения для сопоставления полей, которые вы будете использовать, затем нажмите « Далее » .
  7. Установите расписание:
    1. Назовите свое соединение.
    2. Установите частоту, определяющую, как часто данные будут импортироваться в набор данных, который вы выбрали на предыдущем шаге. Каждый запуск перезаписывает данные в целевой таблице.
    3. Укажите, как вы хотите обрабатывать конфликты идентификаторов пользователей. Вы можете выбрать между сохранением существующего совпадения или перезаписью новых данных.
  8. Нажмите Готово .

Просмотр сведений о подключении

Страница сведений о подключении предоставляет информацию о последних запусках и ошибках данного подключения. Чтобы просмотреть сведения о конкретном подключении:

  1. Щелкните Подключения > Сопоставление данных .
  2. Щелкните имя подключения, чтобы просмотреть сведения о нем.
  3. Теперь вы можете просмотреть сведения о подключении и недавние запуски. Каждый показывает два возможных типа ошибок: ошибки уровня соединения (соединение не установлено) и ошибки уровня строки (строка не была импортирована).
    1. Статус Failed указывает на то, что не удалось запустить все подключение (например, проблема с разрешением учетной записи службы). Нажмите на статус ошибки, чтобы увидеть, какие ошибки повлияли на соединение.
    2. Статус « Завершено » указывает на то, что соединение установлено успешно. Однако по-прежнему могут быть ошибки на уровне строк, на что указывает ненулевое значение в столбце «Строки с ошибками». Щелкните значение, чтобы узнать больше о том, какие записи не удалось выполнить.

Изменить подключение

Редактирование подключений пока не поддерживается. Чтобы изменить соединение, создайте новое, а затем удалите старое.

Запрос данных в Ads Data Hub

Запросите таблицы соответствий

Когда ваши таблицы соответствий содержат достаточно данных для проверки конфиденциальности, вы готовы выполнять запросы к таблицам. Каждая таблица в схеме Ads Data Hub, содержащая поле user_id , сопровождается таблицей *_match . Например, для таблицы adh.google_ads_impressions Ads Data Hub также создает таблицу соответствия adh.google_ads_impressions_match , содержащую только идентификаторы пользователей. Эти таблицы содержат подмножество пользователей, доступных в исходных таблицах, где есть совпадение по user_id . Например, если исходная таблица содержит данные для пользователя А и пользователя Б, но сопоставлен только пользователь А, то пользователь Б не будет в таблице соответствия.

Таблицы соответствий содержат дополнительный столбец с именем external_cookie , который хранит ваш файл cookie в формате BYTES.

Поле external_cookie содержит ваш идентификатор в виде BYTES. Вам нужно преобразовать свой ключ соединения в BYTES для успешных совпадений.

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

Используйте таблицы соответствия, запрашивая представления *_match таблиц рекламных событий. Если вы также используете сопоставление файлов cookie , вы можете фильтровать запросы по типу соответствия. Использовать:

  • match_type = 1 для сопоставления файлов cookie
  • match_type = 2 для сопоставления данных, предоставленных пользователем

Хотя match_type разрешен в запросах, это поле не может быть возвращено в результатах, поэтому вам не следует включать его в окончательный SELECT .

Примеры запросов

Подсчитать подходящих пользователей

Этот запрос подсчитывает количество соответствующих пользователей в таблице показов Google Рекламы.

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

SELECT COUNT(DISTINCT user_id)
FROM adh.google_ads_impressions_match

Подсчет предоставленных пользователем данных соответствует пользователям

Этот запрос подсчитывает количество сопоставленных пользователей по типу соответствия. Поскольку таблицы рекламных событий содержат события как от вошедших, так и не вошедших пользователей, фильтрация сопоставления данных, предоставленных пользователями, приведет к сопоставлению только вошедших пользователей.

/* Count user-provided data matched users by match type.
match_type = 1 for cookie matching
match_type = 2 for user-provided data matching */

SELECT
  match_type AS match_type,
  COUNT(DISTINCT user_id) AS user_cnt,
FROM 
  adh.google_ads_impressions_match
GROUP BY
  match_type

Этот запрос показывает, как объединить собственные данные с данными Google Рекламы:

/* Join first-party data with Google Ads data. The external_cookie 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_match AS google_data_imp
LEFT JOIN
  `my_data`
ON 
  google_data_imp.external_cookie = CAST(my_data.user_id AS BYTES)
-- Uncomment the following line if cookie matching is enabled as well.
-- WHERE google_data_imp.match_type = 2
GROUP BY
  inventory_type

Этот запрос подсчитывает количество пользователей, сопоставленных с предоставленными пользователями данными, за исключением пользователей с сопоставленными файлами cookie. Имейте в виду, что таблицы рекламных событий содержат события как от вошедших, так и не вошедших пользователей, поэтому фильтрация по совпадению данных, предоставленных пользователями, приведет к сопоставлению только вошедших пользователей.

/* Count user-provided data matched users, excluding cookie matched users. */

SELECT 
  COUNT(DISTINCT user_id)
FROM 
  adh.google_ads_impressions_match
WHERE 
  match_type = 2

Соединения

Для получения ценной информации о рекламе часто требуется объединение данных из нескольких источников. Создание собственного решения этой проблемы конвейера данных требует значительных временных и инженерных затрат. Connections упрощает этот процесс, предоставляя пошаговый управляемый интерфейс для импорта, преобразования и записи данных в BigQuery. После записи данных вы можете использовать их в запросах Ads Data Hub или любом другом продукте, который считывает данные из BigQuery. Обогащение ваших запросов данными из первых рук может повысить качество обслуживания клиентов и повысить устойчивость к общеотраслевым изменениям в отслеживании рекламы.

Кроме того, в Connections встроены инструменты, которые позволяют вам шифровать и передавать личную информацию (PII) партнерам, ориентируясь на конфиденциальность. После выбора столбцов, содержащих PII, Connections шифрует данные, гарантируя, что ваши собственные данные могут быть экспортированы или прочитаны только людьми, у которых есть на это разрешение.

Вы можете использовать Connections для импорта данных из:

Узнать, какие исходные данные необходимы для вашего варианта использования для измерения или активации, может быть сложно, поэтому Connections предоставляет исчерпывающий список предопределенных вариантов использования , а затем проведет вас через весь процесс извлечения, преобразования и загрузки ваших данных.

Различия между вашими данными 1P и сопоставлением данных

Рабочий процесс настройки предоставленной пользователем таблицы соответствий аналогичен созданию обычного основного подключения к данным через Connections. Однако требование двух проектов предполагает, что вы настраиваете Connections перед использованием сопоставления данных, предоставленных пользователем. Если вы используете Connections только как инструмент подготовки данных, вы можете использовать один проект Google Cloud.

Дополнительные требования для сопоставления предоставленных пользователем данных:

  • Вы должны использовать электронную почту, телефон, адрес или любую комбинацию в качестве ключа присоединения.
  • Вы должны указать, как разрешаются коллизии user_id. Вы можете выбрать между сохранением существующего совпадения или перезаписью новых данных.
  • Вы должны использовать учетную запись службы UPDM в дополнение к учетным записям datafusion и dataproc.

Ваш рабочий процесс данных 1P

Создать соединение

  1. Нажмите « Подключения »> «Ваши данные 1P »> « Создать подключение ».
  2. Подключиться к источнику данных. Вам будет предложено пройти аутентификацию.

    Большой запрос

    Разрешения основаны на вашей учетной записи Google, поэтому дополнительная аутентификация не требуется. Убедитесь, что учетные записи службы Connections имеют доступ для чтения к таблице.

    Облачное хранилище

    Разрешения основаны на вашей учетной записи Google, поэтому дополнительная аутентификация не требуется. Убедитесь, что учетные записи службы Connections имеют доступ на чтение к сегменту хранилища.

    отдел продаж

    (Вскоре)

    Для входа используйте учетные данные Salesforce вашей организации. Google не хранит ваши учетные данные, поэтому для каждого нового подключения Salesforce потребуется повторная аутентификация.

  3. Выберите вариант использования и ключ соединения , затем нажмите « Выбрать вариант использования» . Если вы не хотите выбирать вариант использования, нажмите « Пропустить » . Позже вы не сможете выбрать вариант использования.
  4. Настройте источник данных .

    Большой запрос

    Выберите таблицу BigQuery для импорта.

    Облачное хранилище

    Введите путь к файлу gsutil, например gs://my-bucket/folder/ , и выберите форматирование файла.

    отдел продаж

    Вскоре

  5. Настройте пункт назначения и поля карты.
    • Выберите проект Google Cloud, набор данных и таблицу, в которую вы хотите записать результаты. Убедитесь, что учетные записи службы Connections имеют доступ на запись к набору данных, в который вы будете записывать данные.
    • Каждое соединение будет создавать новую таблицу для записи. Если вы выберете уже существующую таблицу, вы увидите ошибку.
    • Сопоставьте поля назначения (поля, которые появятся в создаваемой таблице) с исходными полями в ваших исходных данных.
  6. Установите расписание.
    1. Назовите свое соединение.
    2. Установите частоту, определяющую, как часто данные будут импортироваться в набор данных, который вы выбрали на предыдущем шаге. Каждый запуск перезаписывает данные в целевой таблице.
  7. Щелкните Готово . Соединения, которые обрабатывают большие объемы данных, могут выполняться несколько часов.

Просмотр сведений о подключении

Страница сведений о подключении предоставляет информацию о последних запусках и ошибках данного подключения. Чтобы просмотреть сведения о конкретном подключении:

  1. Щелкните Подключения > Ваши данные 1P .
  2. Щелкните имя подключения, чтобы просмотреть сведения о нем.
  3. Теперь вы можете просмотреть сведения о подключении и недавние запуски. Каждый показывает два возможных типа ошибок: ошибки уровня соединения (соединение не установлено) и ошибки уровня строки (строка не была импортирована).
    1. Статус Failed указывает на то, что не удалось запустить все подключение (например, проблема с разрешением учетной записи службы). Нажмите на статус ошибки, чтобы увидеть, какие ошибки повлияли на соединение.
    2. Статус « Завершено » указывает на то, что соединение установлено успешно. Однако по-прежнему могут быть ошибки на уровне строк, на что указывает ненулевое значение в столбце «Строки с ошибками». Щелкните значение, чтобы узнать больше о том, какие записи не удалось выполнить.

Изменить подключение

Редактирование подключений пока не поддерживается. Чтобы изменить подключение, создайте новое и удалите старое.

Сценарии использования

Выбранный вариант использования влияет на схему целевой таблицы и импортированные ключевые поля объединения. Разверните примеры использования ниже, чтобы узнать, как они влияют на схему и ключи соединения:

Охват и частота

Измеряйте охват и частоту кампаний по каналам и устройствам с разбивкой по пользовательским сегментам 1P.

Имя поля Описание Тип Обязательный/необязательный
ключ присоединения Изменения в зависимости от того, какой ключ присоединения вы используете нить Необходимый
Пол Пол нить По желанию
возраст Возраст инт По желанию
город Город нить По желанию
страна Страна нить По желанию
lifecycle_state Состояние клиентской воронки: неизвестно, онбординг, вовлеченность, истек срок действия и т. д. нить По желанию
лояльность_статус Серебро, золото, платина, бриллиант и т.д. нить По желанию
last_purchase_date Дата последней покупки (временная метка эпохи Unix) инт По желанию
last_purchase_product Последний купленный/использованный продукт нить По желанию
last_contacted_date Дата последнего контакта/помолвки (временная метка эпохи Unix) инт По желанию
LTV LTV клиента инт По желанию
тип_подписки Подпродукт / тип подписки, который есть у клиента — например, люкс, семейный план нить По желанию
ID транзакции Уникальный идентификатор для этой транзакции нить По желанию
Дата сделки Дата транзакции (временная метка эпохи Unix) инт По желанию
transaction_revenue Доход от сделки инт По желанию
валюта Тип валюты транзакции нить По желанию
количество Количество товаров в сделке нить По желанию
цена Цена за товар в сделке инт По желанию
Стоимость сделки Стоимость товаров/услуг от сделки инт По желанию
transaction_profit Валовая прибыль от сделки инт По желанию
Код товара SKU/ID товара(ов) в транзакции нить По желанию
описание_транзакции Другое описание/метаданные/параметры о транзакции нить По желанию
тип события Например, показ телевизионной рекламы, маркетинговая электронная почта, посещение веб-сайта, посещение магазина и т. д. нить По желанию
event_id Уникальный идентификатор события выше нить По желанию
event_timestamp Дата события (отметка времени эпохи Unix) инт По желанию
channel_metadata Дополнительные метаданные или информация об этом канале Touchpoint нить По желанию

Мультисенсорная атрибуция

Измеряйте атрибуцию, объединяя точки взаимодействия 1P с точками взаимодействия из данных Google.

Имя поля Описание Тип Обязательный/необязательный
ключ присоединения Изменения в зависимости от того, какой ключ присоединения вы используете нить Необходимый
тип события Например, показ телевизионной рекламы, маркетинговая электронная почта, посещение веб-сайта, посещение магазина и т. д. нить Необходимый
event_id Уникальный идентификатор события выше нить Необходимый
event_timestamp Дата события (отметка времени эпохи Unix) инт Необходимый
кредит Значение кредита (используется для атрибуции) — например, количество конверсий. инт По желанию
channel_metadata Дополнительные метаданные или информация об этом канале Touchpoint нить По желанию

Показатели эффективности

Измеряйте эффективность кампании с разбивкой по демографическим данным, интересам или пользовательским сегментам 1P.

Имя поля Описание Тип Обязательный/необязательный
ключ присоединения Изменения в зависимости от того, какой ключ присоединения вы используете нить Необходимый
Пол Пол нить По желанию
возраст Возраст инт По желанию
город Город нить По желанию
страна Страна нить По желанию
lifecycle_state Состояние клиентской воронки: неизвестно, онбординг, вовлеченность, истек срок действия и т. д. нить По желанию
лояльность_статус Серебро, золото, платина, бриллиант и т.д. нить По желанию
last_purchase_date Дата последней покупки (временная метка эпохи Unix) инт По желанию
last_purchase_product Последний купленный/использованный продукт нить По желанию
last_contacted_date Дата последнего контакта/помолвки (временная метка эпохи Unix) инт По желанию
LTV LTV клиента инт По желанию
тип_подписки Подпродукт / тип подписки, который есть у клиента — например, люкс, семейный план нить По желанию

Путь к атрибуции конверсий

Анализируйте эффективность путей конверсии с помощью настраиваемых точек взаимодействия, включая точки взаимодействия 1P.

Имя поля Описание Тип Обязательный/необязательный
ключ присоединения Изменения в зависимости от того, какой ключ присоединения вы используете нить Необходимый
тип события Например, показ телевизионной рекламы, маркетинговая электронная почта, посещение веб-сайта, посещение магазина и т. д. нить Необходимый
event_id Уникальный идентификатор события выше нить Необходимый
event_timestamp Дата события (отметка времени эпохи Unix) инт Необходимый
кредит Значение кредита (используется для атрибуции) — например, количество конверсий. инт По желанию
channel_metadata Дополнительные метаданные или информация об этом канале Touchpoint нить По желанию

Перекрытие между издателями

Анализируйте охват и частоту кампаний по издателям с разбивкой по пользовательским сегментам 1P.

Имя поля Описание Тип Обязательный/необязательный
ключ присоединения Изменения в зависимости от того, какой ключ присоединения вы используете нить Необходимый
Пол Пол нить По желанию
возраст Возраст инт По желанию
город Город нить По желанию
страна Страна нить По желанию
lifecycle_state Состояние клиентской воронки: неизвестно, онбординг, вовлеченность, истек срок действия и т. д. нить По желанию
лояльность_статус Серебро, золото, платина, бриллиант и т.д. нить По желанию
last_purchase_date Дата последней покупки (временная метка эпохи Unix) инт По желанию
last_purchase_product Последний купленный/использованный продукт нить По желанию
last_contacted_date Дата последнего контакта/помолвки (временная метка эпохи Unix) инт По желанию
LTV LTV клиента инт По желанию
тип_подписки Подпродукт / тип подписки, который есть у клиента — например, люкс, семейный план нить По желанию

Одновременная работа кампании

Измеряйте влияние параллельных кампаний на производительность по сегментам пользователей 1P.

Имя поля Описание Тип Обязательный/необязательный
ключ присоединения Изменения в зависимости от того, какой ключ присоединения вы используете нить Необходимый
Пол Пол нить По желанию
возраст Возраст инт По желанию
город Город нить По желанию
страна Страна нить По желанию
lifecycle_state Состояние клиентской воронки: неизвестно, онбординг, вовлеченность, истек срок действия и т. д. нить По желанию
лояльность_статус Серебро, золото, платина, бриллиант и т.д. нить По желанию
last_purchase_date Дата последней покупки (временная метка эпохи Unix) инт По желанию
last_purchase_product Последний купленный/использованный продукт нить По желанию
last_contacted_date Дата последнего контакта/помолвки (временная метка эпохи Unix) инт По желанию
LTV LTV клиента инт По желанию
тип_подписки Подпродукт / тип подписки, который есть у клиента — например, люкс, семейный план нить По желанию
ID транзакции Уникальный идентификатор для этой транзакции нить По желанию
Дата сделки Дата транзакции (временная метка эпохи Unix) инт По желанию
transaction_revenue Доход от сделки инт По желанию
валюта Тип валюты транзакции нить По желанию
количество Количество товаров в сделке нить По желанию
цена Цена за товар в сделке инт По желанию
Стоимость сделки Стоимость товаров/услуг от сделки инт По желанию
transaction_profit Валовая прибыль от сделки инт По желанию
Код товара SKU/ID товара(ов) в транзакции нить По желанию
описание_транзакции Другое описание/метаданные/параметры о транзакции нить По желанию
тип события Например, показ телевизионной рекламы, маркетинговая электронная почта, посещение веб-сайта, посещение магазина и т. д. нить По желанию
event_id Уникальный идентификатор события выше нить По желанию
event_timestamp Дата события (отметка времени эпохи Unix) инт По желанию
channel_metadata Дополнительные метаданные или информация об этом канале Touchpoint нить По желанию

Сравнение кампаний

Сравните эффективность кампаний Google и кампаний других издателей.

Имя поля Описание Тип Обязательный/необязательный
ключ присоединения Изменения в зависимости от того, какой ключ присоединения вы используете нить Необходимый
канал Канал, на котором проводилась эта кампания (например, Facebook, TV и т. д.) нить Необходимый
партнер Имя партнера, если участвует нить По желанию
тактика Название конкретной тактики нить По желанию
кампания_метаданные Дополнительные метаданные или информация об этой кампании нить По желанию
свидание Дата активности кампании (временная метка эпохи Unix) инт Необходимый
впечатления Количество показов из этой кампании в этот день инт Необходимый
клики Количество кликов из этой кампании в этот день инт Необходимый
конверсии Количество конверсий из этой кампании на эту дату инт Необходимый
Стоимость Общая стоимость этой кампании на эту дату инт Необходимый

Сравнение сходства и меток

Найдите совпадения между вашими сегментами пользователей 1P и сегментами аудитории Google по интересам и аудитории заинтересованных покупателей.

Имя поля Описание Тип Обязательный/необязательный
ключ присоединения Изменения в зависимости от того, какой ключ присоединения вы используете нить Необходимый
Пол Пол нить По желанию
возраст Возраст инт По желанию
город Город нить По желанию
страна Страна нить По желанию
lifecycle_state Состояние клиентской воронки: неизвестно, онбординг, вовлеченность, истек срок действия и т. д. нить По желанию
лояльность_статус Серебро, золото, платина, бриллиант и т.д. нить По желанию
last_purchase_date Дата последней покупки (временная метка эпохи Unix) инт По желанию
last_purchase_product Последний купленный/использованный продукт нить По желанию
last_contacted_date Дата последнего контакта/помолвки (временная метка эпохи Unix) инт По желанию
LTV LTV клиента инт По желанию
тип_подписки Подпродукт / тип подписки, который есть у клиента — например, люкс, семейный план нить По желанию

Анализ конверсий приложений

Измеряйте влияние кампании на поведение в приложении.

Имя поля Описание Тип Обязательный/необязательный
ключ присоединения Изменения в зависимости от того, какой ключ присоединения вы используете нить Необходимый
свидание Дата активности мобильного приложения (временная метка эпохи Unix) инт Необходимый
установить Логическое значение, указывающее, было ли в этот день зарегистрировано событие установки. логический Необходимый
Регистрация Логическое значение, указывающее, было ли в этот день зарегистрировано событие регистрации. логический Необходимый
авторизоваться Логическое значение, указывающее, было ли в этот день зарегистрировано событие входа в систему. логический Необходимый
in_app_purchases Общая сумма покупок в приложении в этот день инт Необходимый

Расчет рентабельности инвестиций

Измеряйте дополнительную отдачу на основе данных о конверсиях 1P.

Имя поля Описание Тип Обязательный/необязательный
ключ присоединения Изменения в зависимости от того, какой ключ присоединения вы используете нить Необходимый
ID транзакции Уникальный идентификатор для этой транзакции нить Необходимый
Дата сделки Дата транзакции (временная метка эпохи Unix) инт Необходимый
transaction_revenue Доход от сделки инт Необходимый
валюта Тип валюты транзакции нить По желанию
количество Количество товаров в сделке нить По желанию
цена Цена за товар в сделке инт По желанию
Стоимость сделки Стоимость товаров/услуг от сделки инт По желанию
transaction_profit Валовая прибыль от сделки инт По желанию
Код товара SKU/ID товара(ов) в транзакции нить По желанию
описание_транзакции Другое описание/метаданные/параметры о транзакции нить По желанию

Активация пользовательской аудитории

Создавайте и активируйте пользовательские сегменты на основе ваших данных 1P и данных Google.

Имя поля Описание Тип Обязательный/необязательный
ключ присоединения Изменения в зависимости от того, какой ключ присоединения вы используете нить Необходимый
Пол Пол нить По желанию
возраст Возраст инт По желанию
город Город нить По желанию
страна Страна нить По желанию
lifecycle_state Состояние клиентской воронки: неизвестно, онбординг, вовлеченность, истек срок действия и т. д. нить По желанию
лояльность_статус Серебро, золото, платина, бриллиант и т.д. нить По желанию
last_purchase_date Дата последней покупки (временная метка эпохи Unix) инт По желанию
last_purchase_product Последний купленный/использованный продукт нить По желанию
last_contacted_date Дата последнего контакта/помолвки (временная метка эпохи Unix) инт По желанию
LTV LTV клиента инт По желанию
тип_подписки Подпродукт / тип подписки, который есть у клиента — например, люкс, семейный план нить По желанию

Пользовательские ставки

Оптимизируйте стратегии назначения ставок в Дисплее и Видео 360 на основе ваших данных 1P и данных Google.

Имя поля Описание Тип Обязательный/необязательный
ключ присоединения Изменения в зависимости от того, какой ключ присоединения вы используете нить Необходимый
Пол Пол нить По желанию
возраст Возраст инт По желанию
город Город нить По желанию
страна Страна нить По желанию
lifecycle_state Состояние клиентской воронки: неизвестно, онбординг, вовлеченность, истек срок действия и т. д. нить По желанию
лояльность_статус Серебро, золото, платина, бриллиант и т.д. нить По желанию
last_purchase_date Дата последней покупки (временная метка эпохи Unix) инт По желанию
last_purchase_product Последний купленный/использованный продукт нить По желанию
last_contacted_date Дата последнего контакта/помолвки (временная метка эпохи Unix) инт По желанию
LTV LTV клиента инт По желанию
тип_подписки Подпродукт / тип подписки, который есть у клиента — например, люкс, семейный план нить По желанию

Кросс-издательская производительность

Измеряйте показатели производительности по издателям или по издателям и вашим сегментам пользователей 1P.

Имя поля Описание Тип Обязательный/необязательный
ключ присоединения Изменения в зависимости от того, какой ключ присоединения вы используете нить Необходимый
Пол Пол нить По желанию
возраст Возраст инт По желанию
город Город нить По желанию
страна Страна нить По желанию
lifecycle_state Customer funnel state: unknown, onboarding, engaged, lapsed, etc. string Optional
loyalty_status Silver, gold, platinum, diamond, etc. string Optional
last_purchase_date Date of last purchase (Unix epoch timestamp) int Optional
last_purchase_product Product last purchased / consumed string Optional
last_contacted_date Date of last contact / engagement (Unix epoch timestamp) int Optional
LTV Customer LTV int Optional
subscription_type Subproduct / subscription type that a customer has - eg deluxe, family plan string Optional