Расширенное отслеживание электронной торговли – 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]];