iOS v3 – расширенная электронная торговля

В этом руководстве описывается, как реализовать функции расширенной электронной торговли 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"}]}}}];

Измерение кассы

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

  1. Измеряйте каждый шаг процесса оформления заказа с помощью действия checkout .
  2. Если применимо, измерьте параметры оформления заказа с помощью действия checkout_option .
  3. При необходимости задайте удобные названия шагов для отчета о воронке оформления заказа, настроив параметры электронной торговли в разделе «Администратор» веб-интерфейса.

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, выберите представление (профиль) и нажмите «Настройки электронной торговли» . Следуйте инструкциям по настройке электронной торговли, чтобы пометить каждый этап оформления заказа, который вы хотите отслеживать.

Настройка электронной торговли в интерфейсе администратора Google Analytics. Воронка оформления заказа состоит из четырех этапов: 1. Просмотр корзины, 2. Сбор информации о платеже, 3. Подтверждение деталей покупки, 4. Квитанция.
Рисунок 1. Настройка электронной торговли, воронка оформления заказа.

Измерение покупок

  • Измерение электронной торговли: 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"}]}}}];