В этом документе представлен обзор того, как измерять действия и показы, связанные с электронной торговлей в приложениях, с помощью Google Analytics SDK v4 для Android.
Обзор
Расширенная электронная торговля позволяет измерять взаимодействие пользователя с продуктами на протяжении всего процесса совершения покупок, включая показы продуктов, клики по продуктам, просмотр сведений о продукте, добавление продукта в корзину, инициирование процесса оформления заказа, транзакции и возврат средств.
Выполнение
Расширенное измерение электронной торговли требует использования класса HitBuilder
и его набора методов для отправки данных электронной торговли о продуктах, показах и рекламных акциях. Также предоставляется набор классов электронной коммерции Google Analytics для создания информации, связанной с электронной торговлей.
Благодаря расширенной электронной торговле вы можете:
- Измерение активности электронной торговли
- Измерение транзакций
- Измерение возвратов
- Измерьте процесс оформления заказа
- Измерение внутренних рекламных акций
Измерение деятельности электронной коммерции
Типичная реализация расширенной электронной торговли будет измерять показы продуктов и любое из следующих действий:
- Выбор продукта.
- Просмотр сведений о продукте.
- Впечатления и подборка внутренних акций.
- Добавление/удаление товара из корзины.
- Запуск процесса оформления заказа на товар.
- Покупки и возврат средств.
Измерение показов
Чтобы измерить впечатление от продукта, создайте объект Product
и отправьте его вместе с обращением с помощью метода addImpression
. Product
должен иметь имя или значение идентификатора. Все остальные значения являются необязательными и не требуют установки.
Product product = new Product() .setId("P12345") .setName("Android Warhol T-Shirt") .setCategory("Apparel/T-Shirts") .setBrand("Google") .setVariant("Black") .setPosition(1) .setCustomDimension(1, "Member"); HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder() .addImpression(product, "Search Results"); Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); t.setScreenName("searchResults"); t.send(builder.build());
Подробную информацию о методе getTracker
см. в разделе «Расширенная настройка» .
Измерительные действия
Действия измеряются с помощью метода addProduct
с объектом Product
для добавления сведений о продукте и метода setProductAction
с объектом ProductAction
для указания выполняемого действия.
Например, следующий код измеряет выбор продукта, отображаемого в списке результатов поиска:
Product product = new Product() .setId("P12345") .setName("Android Warhol T-Shirt") .setCategory("Apparel/T-Shirts") .setBrand("Google") .setVariant("Black") .setPosition(1) .setCustomDimension(1, "Member"); ProductAction productAction = new ProductAction(ProductAction.ACTION_CLICK) .setProductActionList("Search Results"); HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder() .addProduct(product) .setProductAction(productAction); Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); t.setScreenName("searchResults"); t.send(builder.build());
Объединение впечатлений и действий
В тех случаях, когда у вас есть и показы продукта, и действие, их можно объединить и измерить в одном обращении.
В приведенном ниже примере показано, как измерить подробное представление о продукте с помощью раздела сопутствующих продуктов:
// The product from a related products section. Product relatedProduct = new Product() .setId("P12346") .setName("Android Warhol T-Shirt") .setCategory("Apparel/T-Shirts") .setBrand("Google") .setVariant("White") .setPosition(1); // The product being viewed. Product viewedProduct = new Product() .setId("P12345") .setName("Android Warhol T-Shirt") .setCategory("Apparel/T-Shirts") .setBrand("Google") .setVariant("Black") .setPosition(1); ProductAction productAction = new ProductAction(ProductAction.ACTION_DETAIL); HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder() .addImpression(relatedProduct, "Related Products") .addProduct(viewedProduct) .setProductAction(productAction); Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); t.setScreenName("product"); t.send(builder.build());
Измерение транзакций
Измерьте транзакцию, используя метод addProduct
с объектом Product
, чтобы добавить сведения о продукте, и метод setProductAction
с объектом ProductAction
, чтобы указать действие покупки. Подробности уровня транзакции, такие как общий доход, налоги и доставка, предоставляются в объекте ProductAction
.
Product product = new Product() .setId("P12345") .setName("Android Warhol T-Shirt") .setCategory("Apparel/T-Shirts") .setBrand("Google") .setVariant("black") .setPrice(29.20) .setCouponCode("APPARELSALE") .setQuantity(1); ProductAction productAction = new ProductAction(ProductAction.ACTION_PURCHASE) .setTransactionId("T12345") .setTransactionAffiliation("Google Store - Online") .setTransactionRevenue(37.39) .setTransactionTax(2.85) .setTransactionShipping(5.34) .setTransactionCouponCode("SUMMER2013"); HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder() .addProduct(product) .setProductAction(productAction); Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); t.setScreenName("transaction"); t.send(builder.build());
Указание валюты
По умолчанию вы можете настроить общую глобальную валюту для всех транзакций и элементов через веб-интерфейс управления Google Analytics.
Местная валюта должна быть указана в стандарте ISO 4217
. Прочтите Справочный документ по кодам валют, чтобы получить полный список поддерживаемых валют конвертации.
Местные валюты указываются с помощью свойства трекераcururityCode. Например, этот трекер будет отправлять значения валют в евро:
Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); t.setScreenName("transaction"); t.set("&cu", "EUR"); // Set tracker currency to Euros. t.send(builder.build());
Измерение возвратов
Чтобы вернуть всю транзакцию, используйте метод setProductAction
с объектом ProductAction
, чтобы указать идентификатор транзакции и тип действия возврата:
// Refund an entire transaction. ProductAction productAction = new ProductAction(ProductAction.ACTION_REFUND) .setTransactionId("T12345"); // Transaction ID is only required field for a full refund. HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder() .setProductAction(productAction); Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); t.setScreenName("refund"); t.send(builder.build());
Если соответствующая транзакция не найдена, возврат не будет обработан.
Чтобы измерить частичный возврат, используйте метод setProductAction
с объектом ProductAction
, чтобы указать идентификатор транзакции, идентификаторы продуктов и количества продуктов, подлежащих возврату:
// Refund a single product. Product product = new Product() .setId("P12345") // Product ID is required for partial refund. .setQuantity(1); // Quanity is required for partial refund. ProductAction productAction = new ProductAction(ProductAction.ACTION_REFUND) .setTransactionId("T12345"); // Transaction ID is required for partial refund. HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder() .addProduct(product) .setProductAction(productAction); Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); t.setScreenName("refundProduct"); t.send(builder.build());
Использование событий отсутствия взаимодействия для возврата средств
Если вам нужно отправить данные о возврате с помощью события, и это событие не является частью обычно измеряемого поведения пользователя (т. е. не инициируется пользователем), рекомендуется отправить событие отсутствия взаимодействия . Это предотвратит влияние события на определенные показатели. Например:
// Refund an entire transaction. ProductAction productAction = new ProductAction(ProductAction.ACTION_REFUND) .setTransactionId("T12345"); HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() .setProductAction(productAction) .setNonInteraction(true) .setCategory("Ecommerce") .setAction("Refund"); Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); t.send(builder.build());
Измерение процесса оформления заказа
Чтобы измерить каждый шаг процесса оформления заказа:
- Добавьте код отслеживания, чтобы отслеживать каждый этап процесса оформления заказа.
- Если применимо, добавьте код отслеживания, чтобы оценить варианты оформления заказа.
- При необходимости задайте удобные названия шагов для отчета о воронке оформления заказа, настроив параметры электронной торговли в разделе администрирования веб-интерфейса.
1. Измерение этапов оформления заказа
На каждом этапе процесса оформления заказа вам необходимо внедрить соответствующий код отслеживания для отправки данных в Google Analytics.
Step
шага
Для каждого измеряемого шага оформления заказа необходимо указать значение step
. Это значение используется для сопоставления ваших действий при оформлении заказа с метками, которые вы настроили для каждого шага в настройках электронной торговли .
Поле Option
Если у вас есть дополнительная информация о данном этапе оформления заказа на момент измерения этого шага, вы можете установить поле option
с действием checkout
для сбора этой информации. Например, тип оплаты по умолчанию для пользователя (например, «Виза»).
Измерение этапа оформления заказа
Чтобы измерить этап оформления заказа, используйте метод addProduct
с объектом Product
, чтобы добавить сведения о продукте, и метод setProductAction
с объектом ProductAction
, чтобы указать действие оформления заказа. Если применимо, вы также можете установить step
и option
при оформлении заказа.
В следующем примере показано, как измерить первый этап процесса оформления заказа с помощью одного продукта и некоторой дополнительной информации о типе оплаты:
Product product = new Product() .setId("P12345") .setName("Android Warhol T-Shirt") .setCategory("Apparel/T-Shirts") .setBrand("Google") .setVariant("black") .setPrice(29.20) .setQuantity(1); // Add the step number and additional info about the checkout to the action. ProductAction productAction = new ProductAction(ProductAction.ACTION_CHECKOUT) .setCheckoutStep(1) .setCheckoutOptions("Visa"); HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder() .addProduct(product) .setProductAction(productAction); Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); t.setScreenName("checkoutStep1"); t.send(builder.build());
2. Измерение параметров оформления заказа
Параметры оформления заказа позволяют вам получить дополнительную информацию о состоянии оформления заказа. Это полезно в тех случаях, когда вы измерили этап оформления заказа, но дополнительная информация о том же этапе оформления заказа доступна после установки выбранного пользователем параметра. Например, пользователь выбирает способ доставки.
Чтобы измерить вариант оформления заказа, используйте setAction
, чтобы указать вариант оформления заказа и включить номер шага и описание параметра.
Вероятно, вы захотите измерить это действие после того, как пользователь выполнил какое-либо действие, чтобы перейти к следующему шагу процесса оформления заказа. Например:
// (On "Next" button click.) ProductAction productAction = new ProductAction(ProductAction.ACTION_CHECKOUT_OPTIONS) .setCheckoutStep(1) .setCheckoutOptions("FedEx"); HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() .setProductAction(productAction) .setCategory("Checkout") .setAction("Option"); Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); t.send(builder.build()); // Advance to next page.
3. Конфигурация воронки оформления заказа
Каждому шагу процесса оформления заказа можно дать описательное имя, которое будет использоваться в отчетах. Чтобы настроить эти имена, посетите раздел «Администратор» веб-интерфейса Google Analytics, выберите представление (профиль) и нажмите « Настройки электронной торговли» . Следуйте инструкциям по настройке электронной торговли, чтобы пометить каждый этап оформления заказа, который вы хотите отслеживать.
Измерение внутреннего продвижения
Расширенная электронная торговля включает поддержку измерения показов и кликов по внутренним рекламным акциям, например баннерам, рекламирующим продажи.
Рекламные показы
Показы внутренней рекламной акции обычно измеряются при первом просмотре экрана с использованием метода addPromotion
с объектом Promotion
для указания подробностей рекламной акции. Например:
Promotion promotion = new Promotion() .setId("PROMO_1234") .setName("Summer Sale") .setCreative("summer_banner2") .setPosition("banner_slot1"); HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder() .addPromotion(promotion); Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); t.setScreenName("promotions"); t.send(builder.build());
Клики по продвижению
Клики по внутренним рекламным акциям можно измерить с помощью метода addPromotion
с объектом Promotion
и метода setPromotionAction
, для которого установлено значение Promotion.ACTION_CLICK
или Promotion.ACTION_VIEW
, чтобы указать клик или просмотр рекламной акции соответственно. Например:
Promotion promotion = new Promotion() .setId("PROMO_1234") .setName("Summer Sale") .setCreative("summer_banner2") .setPosition("banner_slot1"); HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() .addPromotion(promotion) .setPromotionAction(Promotion.ACTION_CLICK) .setCategory("Internal Promotions") .setAction("click") .setLabel("Summer Sale"); Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); t.send(builder.build());