В этом документе представлен обзор того, как измерять действия и показы, связанные с электронной торговлей в приложениях, с помощью Google Analytics SDK для iOS v3.
Обзор
Расширенная электронная торговля позволяет измерять взаимодействие пользователя с продуктами на протяжении всего процесса совершения покупок, в том числе: показы продуктов, клики по продуктам, просмотр сведений о продукте, добавление продукта в корзину, инициирование процесса оформления заказа, транзакции и возвраты средств.
Выполнение
Прежде чем внедрять расширенное отслеживание электронной торговли в свое приложение, вы должны добавить в свое приложение расширенную библиотеку электронной торговли .
Настроив приложение для использования расширенной электронной торговли, вы можете:
- Измерение активности электронной торговли
- Измерение транзакций
- Измерение возвратов
- Измерьте процесс оформления заказа
- Измерение внутренних рекламных акций
Измерение деятельности электронной коммерции
Типичная реализация расширенной электронной торговли будет измерять показы продуктов и любое из следующих действий:
- Выбор продукта.
- Просмотр сведений о продукте.
- Впечатления и подборка внутренних акций.
- Добавление/удаление товара из корзины.
- Запуск процесса оформления заказа на товар.
- Покупки и возврат средств.
Измерение показов
Чтобы измерить показ продукта, установите значения продукта и показа и отправьте его с обращением:
idtracker = [[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. idtracker = [[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. Измерение этапов оформления заказа
На каждом этапе процесса оформления заказа вам необходимо внедрить соответствующий код отслеживания для отправки данных в 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, выберите представление (профиль) и нажмите « Настройки электронной торговли» . Следуйте инструкциям по настройке электронной торговли, чтобы пометить каждый этап оформления заказа, который вы хотите отслеживать.
Измерение внутреннего продвижения
Расширенная электронная торговля включает поддержку измерения показов и выбора внутренних рекламных акций, таких как баннеры, рекламирующие распродажу.
Рекламные показы
Показы внутренней рекламной акции обычно измеряются по первому просмотру экрана или событию путем установки значений рекламной акции. Например:
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]];