В этом руководстве описывается, как реализовать функции расширенной электронной торговли Universal Analytics с помощью SDK Google Tag Manager для iOS.
Обзор
Расширенная электронная торговля Google Analytics позволяет отправлять данные о показах, рекламных акциях и продажах продуктов вместе с любыми вашими просмотрами экрана и событиями Google Analytics.
Прежде чем вы начнете
Мы рекомендуем просмотреть раздел «Типы данных и действия расширенной электронной торговли» Руководства для разработчиков расширенной электронной торговли Google Analytics (Интернет), чтобы помочь вам спланировать внедрение. Руководство поможет вам понять, какие поля являются обязательными и необязательными для каждого взаимодействия электронной торговли, которое вы хотите измерить.
Выполнение
В следующих разделах показано, как использовать уровень данных для измерения следующих расширенных действий электронной коммерции:
- Впечатления о продукте
- Клики по продуктам/выборы
- Подробные впечатления о продукте
- Добавить/Удалить из корзины
- Рекламные показы
- Клики/выборы по продвижению
- Проверить
- Покупки
- Возвраты
Измерение впечатлений от продукта
- Измерение электронной торговли:
impressions
- Принимает данные: массив
impressionFieldObjects
.
Измеряйте показы продукта с помощью действия impression
и одного или нескольких impressionFieldObjects
. В следующем примере предполагается, что сведения об отображаемых продуктах известны на момент отображения экрана:
// Product impressions are sent by pushing an impressions object // containing one or more impressionFieldObjects. [dataLayer push:@{@"ecommerce": @{ @"currencyCode": @"EUR", // Local currency is optional. @"impressions": @[ @{@"name": @"Triblend Android T-Shirt", // Name or ID is required. @"id": @"12345", @"price": @"15.25", @"brand": @"Google", @"category": @"Apparel", @"variant": @"Gray", @"list": @"Search Results", @"position": @1}, @{@"name": @"Donut Friday Scented T-Shirt", @"id": @"67890", @"price": @"33.75", @"brand": @"Google", @"category": @"Apparel", @"variant": @"Black", @"list": @"Search Results", @"position": @2}]}}];
Измерение кликов/выборов продуктов
- Измерение электронной торговли:
click
- Принимает данные:
list
, массивproductFieldObjects
.
Измерьте выбор продуктов, перенеся действие click
на уровень данных вместе с productFieldObject
, представляющим выбранный продукт:
[dataLayer push:@{@"event": @"productClick", @"ecommerce": @{ @"click": @{ @"actionField": @{ @"list": @"Search Results"}, // Optional list property. @"products": @[ @{@"name": @"Triblend Android T-Shirt", // Name or ID is required. @"id": @"12345", @"price": @"15.25", @"brand": @"Google", @"category": @"Apparel", @"variant": @"Gray"}]}}}];
Измерительные виды деталей продукта
- Измерение электронной торговли:
detail
- Принимает данные:
list
, массивproductFieldObjects
.
Измерьте представление сведений о продукте, переместив действие detail
на уровень данных вместе с одним или несколькими productFieldObjects
, представляющими просматриваемые продукты:
// Measure a view of product details. [dataLayer push:@{@"ecommerce": @{ @"detail": @{ @"actionField": @{ @"list": @"Apparel Gallery"}, // 'detail' actions have an optional list property. @"products": @[ @{@"name": @"Triblend Android T-Shirt", // Name or ID is required. @"id": @"12345", @"price": @"15.25", @"brand": @"Google", @"category": @"Apparel", @"variant": @"Gray"}]}}}];
Измерение добавлений или удалений из корзины покупок
- Измерение электронной торговли:
add
,remove
- Принимает данные:
list
, массивproductFieldObjects
.
Измеряйте добавление или удаление из корзины покупок с помощью add
или remove
actionFieldObject
и списка productFieldObjects
:
Добавление товара в корзину
// Measure adding a product to a shopping cart by using an "add" // actionFieldObject and a list of productFieldObjects. [dataLayer push:@{@"event": @"addToCart", @"ecommerce": @{ @"currencyCode": @"EUR", @"add": @{ // 'add' actionFieldObject measures. @"products": @[ @{@"name": @"Triblend Android T-Shirt", @"id": @"12345", @"price": @"15.25", @"brand": @"Google", @"category": @"Apparel", @"variant": @"Gray", @"quantity": @1}]}}}];
Удаление товара из корзины
// Measure the removal of a product from a shopping cart. [dataLayer push:@{@"event": @"removeFromCart", @"ecommerce": @{ @"remove": @{ // 'remove' actionFieldObject measures. @"products": @[ @{@"name": @"Triblend Android T-Shirt", @"id": @"12345", @"price": @"15.25", @"brand": @"Google", @"category": @"Apparel", @"variant": @"Gray", @"quantity": @1}]}}}];
Измерение продвижения
Вы можете измерять как показы, так и выбор во внутренних рекламных акциях приложения, таких как баннеры, отображаемые в приложении для рекламы распродажи определенного набора продуктов, или предложения бесплатной доставки.
Измерение впечатлений от промоакций
- Измерение электронной торговли:
promoView
- Принимает данные: массив
promoFieldObjects
.
Чтобы измерить показ рекламной акции, задайте для ключа promoView
на уровне данных электронной торговли значение promoFieldObject
, которое описывает рекламные акции, отображаемые пользователям на экране:
// An example of measuring promotion views. This example assumes that // information about the promotions displayed is available when the screen is // displayed. [dataLayer push:@{@"ecommerce": @{ @"promoView": @{ @"promotions": @[ // Array of promoFieldObjects. @{@"id": @"JUNE_PROMO13", // ID or Name is required. @"name": @"June Sale", @"creative": @"banner1", @"position": @"slot1"}, @{@"id": @"FREE_SHIP13", @"name": @"Free Shipping Promo", @"creative": @"skyscraper1", @"position": @"slot2"}]}}}];
Измерение кликов/выборов по промоакции
Чтобы измерить выбор рекламной акции, переместите действие promoClick
на уровень данных с массивом, содержащим promoFieldObject
описывающий выбранную рекламную акцию:
[dataLayer push:@{@"event": @"promotionClick", @"ecommerce": @{ @"promoClick": @{ @"promotions": @[ @{@"id": @"JUNE_PROMO13", // Name or ID is required. @"name": @"June Sale", @"creative": @"banner1", @"position": @"slot1"}]}}}];
Измерение кассы
Чтобы измерить каждый шаг процесса оформления заказа, вам необходимо:
- Измеряйте каждый шаг процесса оформления заказа с помощью действия
checkout
. - Если применимо, измерьте параметры оформления заказа с помощью действия
checkout_option
. - При необходимости задайте удобные названия шагов для отчета о воронке оформления заказа, настроив параметры электронной торговли в разделе «Администратор» веб-интерфейса.
1. Измерение этапов оформления заказа
- Измерение электронной торговли:
checkout
- Принимает данные:
step
, массивproductFieldObjects
.
Чтобы измерить процесс оформления заказа, который может включать кнопку оформления заказа и один или несколько экранов оформления заказа, на которых пользователи вводят информацию о доставке и оплате, используйте действие checkout
и поле step
, чтобы указать, какой этап процесса оформления заказа измеряется. Вы также можете использовать поле option
, чтобы предоставить часть дополнительных данных о процессе оформления заказа, например, тип оплаты, выбранный пользователем.
[dataLayer push:@{@"event": @"checkout", @"ecommerce": @{ @"checkout": @{ @"actionField": @{ @"step": @1, @"option": @"Visa"}, @"products": @[ @{@"name": @"Triblend Android T-Shirt", @"id": @"12345", @"price": @"15.25", @"brand": @"Google", @"category": @"Apparel", @"variant": @"Gray", @"quantity": @1}]}}}];
2. Измерение параметров оформления заказа
- Измерение электронной торговли:
checkout_option
- Принимает данные:
step
,option
Опция оформления заказа полезна в тех случаях, когда вы уже измерили этап оформления заказа, но хотите получить дополнительную информацию об этом этапе оформления заказа. Например, способ доставки, выбранный пользователем. Чтобы измерить это, используйте действие checkout_option
вместе с полями step
и option
.
[dataLayer push:@{@"event": @"checkoutOption", @"ecommerce": @{ @"checkout_option": @{ @"actionField": @{ @"step": @1, @"option": @"Express"}}}}];
3. Конфигурация воронки оформления заказа
При желании каждому шагу процесса оформления заказа можно присвоить описательное имя, которое будет использоваться в отчетах. Чтобы настроить эти имена, посетите раздел «Администратор » веб-интерфейса Google Analytics, выберите представление (профиль) и нажмите «Настройки электронной торговли» . Следуйте инструкциям по настройке электронной торговли, чтобы пометить каждый этап оформления заказа, который вы хотите отслеживать.
Измерение покупок
- Измерение электронной торговли:
purchase
- Принимает данные:
id
(идентификатор транзакции), массивproductFieldObjects
Перенесите сведения о своей транзакции на уровень данных с помощью действия purchase
вместе с event
, которое активирует расширенный тег с поддержкой электронной коммерции. В этом примере детали транзакции известны на момент отображения экрана:
// Send transaction data with a screenview if possible. // Otherwise, use an event when the transaction data becomes available. [dataLayer push:@{@"ecommerce": @{ @"purchase": @{ @"actionField": @{ @"id": @"T12345", // Transaction ID. Required for purchases and refunds. @"affiliation": @"Online Store", @"revenue": @"35.43", // Total transaction value (incl. tax and shipping) @"tax":"4.90", @"shipping": @"5.99", @"coupon": @"SUMMER_SALE"}, @"products": @[ // List of productFieldObjects. @{@"name": @"Triblend Android T-Shirt", // Name or ID is required. @"id": @"12345", @"price": @"15.25", @"brand": @"Google", @"category": @"Apparel", @"variant": @"Gray", @"quantity": @1, @"coupon": @""}, // Optional fields may be omitted or set to empty string. @{@"name": @"Donut Friday Scented T-Shirt", @"id": @"67890", @"price": @"33.75", @"brand": @"Google", @"category": @"Apparel", @"variant": @"Black", @"quantity": @1}]}}}];
Измерение возвратов
- Отслеживание электронной торговли:
refund
- Принимает данные:
id
(идентификатор транзакции), массивproductFieldObjects
Чтобы измерить полный возврат транзакции, отправьте refund
actionFieldObject
вместе с идентификатором возвращаемой транзакции:
// Refund an entire transaction by providing the transaction ID. This example // assumes the details of the completed refund are available when the screen // is displayed: [dataLayer push:@{@"ecommerce": @{ @"refund": @{ @"actionField": @{ @"id": @"T12345"}}}}]; // Transaction ID. Required for refunds.
Чтобы измерить частичный возврат средств , добавьте список productFieldObjects
, включая идентификаторы продуктов и возвращаемые количества:
// Measure a partial refund by providing an array of productFieldObjects and // specifying the ID and quantity of each product being returned. This example // assumes the partial refund details are known at the time the screen is // displayed: [dataLayer push:@{@"ecommerce": @{ @"refund": @{ @"actionField": @{ @"id": @"T12345"}, // Transaction ID. @"products": @[ @{@"id": @"P4567", @"quantity": @1}, // Product ID & quantity. Required for partial refunds. @{@"id": @"P8901", @"quantity": @2}]}}}];
Объединение впечатлений и действий
В тех случаях, когда у вас есть и показы продукта, и действие, их можно объединить и измерить в одном обращении.
В приведенном ниже примере показано, как измерить подробное представление о продукте с помощью показов продукта из раздела сопутствующих продуктов:
[dataLayer push:@{@"ecommerce": @{ @"impressions": @[ @{@"name": @"Triblend Android T-Shirt", // Name or ID is required. @"id": @"12345", @"price": @"15.25", @"brand": @"Google", @"category": @"Apparel", @"variant": @"Gray", @"list": @"Related Products", @"position": @1}, @{@"name": @"Donut Friday Scented T-Shirt", @"id": @"67890", @"price": @"33.75", @"brand": @"Google", @"category": @"Apparel", @"variant": @"Black", @"list": @"Related Products", @"position": @2}], @"detail": @{ @"actionField": @{ @"list": @"Apparel Gallery"}, // 'detail' actions have an optional list property. @"products": @[ @{@"name": @"Triblend Android T-Shirt", // Name or ID is required. @"id": @"12345", @"price": @"15.25", @"brand": @"Google", @"category": @"Apparel", @"variant": @"Gray"}]}}}];