Расширенное отслеживание электронной торговли – iOS SDK

В этом документе представлен обзор того, как измерять действия и показы, связанные с электронной торговлей в приложениях, с помощью Google Analytics SDK для iOS v3.

Обзор

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

Выполнение

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

Настроив приложение для использования расширенной электронной торговли, вы можете:

Измерение деятельности электронной коммерции

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

  • Выбор продукта.
  • Просмотр сведений о продукте.
  • Впечатления и подборка внутренних акций.
  • Добавление/удаление товара из корзины.
  • Запуск процесса оформления заказа на товар.
  • Покупки и возврат средств.

Измерение показов

Чтобы измерить показ продукта, установите значения продукта и показа и отправьте его с обращением:

id tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"Black"];
[product setCustomDimension:1 value:@"Member"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createScreenView];

// Sets the product impression for the next available slot, starting with 1.
[builder addProductImpression:product
               impressionList:@"Search Results"
             impressionSource:@"From Search"];
[tracker set:kGAIScreenName value:@"My Impression Screen"];
[tracker send:[builder build]];

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

Измерительные действия

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

Например, следующий код измеряет выбор продукта, отображаемого в списке результатов поиска:

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"Black"];
[product setCustomDimension:1 value:@"Member"];

GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPAClick];
[action setProductActionList:@"Search Results"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createScreenView];
[builder setProductAction:action];

// Sets the product for the next available slot, starting with 1
[builder addProduct:product];
[tracker set:kGAIScreenName value:@"My Impression Screen"];
[tracker send:[builder build]];

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

Объединение впечатлений и действий

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

В приведенном ниже примере показано, как измерить подробное представление о продукте с помощью раздела сопутствующих продуктов:

// The product from the related products section.
id tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12346"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"White"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createScreenView];

// Sets the product impression for the next available slot, starting with 1.
[builder addProductImpression:product
               impressionList:@"Related Products"
             impressionSource:@"From Related"];

// The product being viewed.
product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"Black"];

GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPADetail];
[builder setProductAction:action];
// Sets the product for the next available slot, starting with 1.
[builder addProduct:product];
[tracker set:kGAIScreenName value:@"Related Products Screen"];
[tracker send:[builder build]];

Измерение транзакций

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

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"Black"];
[product setPrice:@29.20];
[product setCouponCode:@"APPARELSALE"];
[product setQuantity:@1];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Purchase"
                                                                        label:nil
                                                                        value:nil];
GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPAPurchase];
[action setTransactionId:@"T12345"];
[action setAffiliation:@"Google Store - Online"];
[action setRevenue:@37.39];
[action setTax:@2.85];
[action setShipping:@5.34];
[action setCouponCode:@"SUMMER2013"];
[builder setProductAction:action];

// Sets the product for the next available slot, starting with 1
[builder addProduct:product];
[tracker send:[builder build]];

Указание валюты

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

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

Местные валюты указываются путем установки значения кода валюты на трекере. Например, этот трекер будет отправлять значения валют в евро:

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTracker"];
[tracker set:kGAIScreenName value:@"transaction"];
[tracker set:kGAICurrencyCode value:@"EUR"]; // Set tracker currency to Euros.
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createScreenView];
[tracker send:[builder build]];

Измерение возвратов

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

// Refund an entire transaction.
id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Refund"
                                                                        label:nil
                                                                        value:nil];
GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPARefund];
[action setTransactionId:@"T12345"];
[builder setProductAction:action];
[tracker send:[builder build]];

Если соответствующая транзакция не найдена, возврат не будет обработан.

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

// Refund a single product.
id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Refund"
                                                                        label:nil
                                                                        value:nil];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"]; // Product ID is required for partial refund.
[product setQuantity:@1]; // Quanity is required for partial refund.
[builder addProduct:product];

GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPARefund];
[action setTransactionId:@"T12345"]; // Transaction ID is required for partial refund.
[builder setProductAction:action];
[tracker send:[builder build]];

Использование событий отсутствия взаимодействия для возврата средств

Если вам нужно отправить данные о возврате с помощью события, и это событие не является частью обычно измеряемого поведения пользователя (т. е. не инициируется пользователем), рекомендуется отправить событие отсутствия взаимодействия. Это предотвратит влияние события на определенные показатели. Например:

// Refund an entire transaction.
id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Refund"
                                                                        label:nil
                                                                        value:nil];

[builder set:@"1" forKey:kGAINonInteraction];

GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPARefund];
[action setTransactionId:@"T12345"];

[builder setProductAction:action];
[tracker send:[builder build]];

Измерение процесса оформления заказа

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

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

1. Измерение этапов оформления заказа

На каждом этапе процесса оформления заказа вам необходимо внедрить соответствующий код отслеживания для отправки данных в Google Analytics.

Step шага

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

Поле Option

Если у вас есть дополнительная информация о данном этапе оформления заказа на момент измерения этого шага, вы можете установить поле параметра оформления заказа с действием оформления для сбора этой информации. Например, тип оплаты по умолчанию для пользователя (например, «Виза»).

Измерение этапа оформления заказа

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

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

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"Black"];
[product setPrice:@29.20];
[product setCouponCode:@"APPARELSALE"];
[product setQuantity:@1];

GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Checkout"
                                                                        label:nil
                                                                        value:nil];

// Add the step number and additional info about the checkout to the action.
GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPACheckout];
[action setCheckoutStep:@1];
[action setCheckoutOption:@"Visa"];

[builder addProduct:product];
[builder setProductAction:action];
[tracker send:[builder build]];

2. Измерение параметров оформления заказа

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

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

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

// (On "Next" button click.)
id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"CheckoutOption"
                                                                        label:nil
                                                                        value:nil];

GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPACheckoutOption];
[action setCheckoutStep:@1];
[action setCheckoutOption:@"Fedex"];

[builder setProductAction:action];
[tracker send:[builder build]];
// Advance to next page.

3. Конфигурация воронки оформления заказа

Каждому шагу процесса оформления заказа можно дать описательное имя, которое будет использоваться в отчетах. Чтобы настроить эти имена, посетите раздел «Администратор» веб-интерфейса Google Analytics, выберите представление (профиль) и нажмите « Настройки электронной торговли» . Следуйте инструкциям по настройке электронной торговли, чтобы пометить каждый этап оформления заказа, который вы хотите отслеживать.

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

Измерение внутреннего продвижения

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

Рекламные показы

Показы внутренней рекламной акции обычно измеряются по первому просмотру экрана или событию путем установки значений рекламной акции. Например:

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommercePromotion *promotion = [[GAIEcommercePromotion alloc] init];
[promotion setId:@"PROMO_1234"];
[promotion setName:@"Summer Sale"];
[promotion setCreative:@"summer_banner2"];
[promotion setPosition:@"banner_slot1"];

GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Promotion"
                                                                        label:nil
                                                                        value:nil];

[builder addPromotion:promotion];
[tracker send:[builder build]];

Клики по продвижению

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

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommercePromotion *promotion = [[GAIEcommercePromotion alloc] init];
[promotion setId:@"PROMO_1234"];
[promotion setName:@"Summer Sale"];
[promotion setCreative:@"summer_banner2"];
[promotion setPosition:@"banner_slot1"];

GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Internal Promotions"
                                                                       action:@"click"
                                                                        label:@"Summer Sale"
                                                                        value:nil];

[builder set:kGAIPromotionClick forKey:kGAIPromotionAction];
[builder addPromotion:promotion];
[tracker send:[builder build]];