מעקב אחר מסחר אלקטרוני משופר

במסמך הזה מפורטת סקירה כללית של אופן המדידה של פעולות וחשיפות שקשורות למסחר אלקטרוני באפליקציה באמצעות 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. קראו את המסמך מסמכי העזר של קודי המטבעות לקבלת רשימה מלאה של מטבעות ההמרה הנתמכים.

המטבעות המקומיים מצוינים באמצעות מאפיין המעקב currencyCode. לדוגמה, כלי המעקב הזה ישלח ערכי מטבע כאירו:

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. להוסיף קוד מעקב כדי למדוד כל שלב בתהליך התשלום בקופה.
  2. אם זה רלוונטי, כדאי להוסיף קוד מעקב כדי למדוד את האפשרויות של סיום הרכישה.
  3. אופציונלי: אתם יכולים להגדיר שמות של שלבים ידידותיים למשתמש בדוח משפך התשלום על ידי קביעת הגדרות למסחר אלקטרוני בקטע האדמין של ממשק האינטרנט.

‫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, בוחרים את התצוגה המפורטת (פרופיל) ולוחצים על הגדרות מסחר אלקטרוני. בצעו את ההוראות להגדרת מסחר אלקטרוני כדי להוסיף תוויות לכל שלב בקופה שאתם מתכוונים לעקוב אחריו.

הגדרות מסחר אלקטרוני בקטע 'ניהול' בממשק האינטרנט של Google Analytics. המסחר האלקטרוני הופעל ונוספו 4 תוויות של שלבים במשפך התשלום: 1. בדיקת עגלת קניות, 2. איסוף פרטי תשלום, 3. מאשרים את פרטי
     הרכישה, 4. קבלה
איור 1: הגדרת מסחר אלקטרוני – משפך תשלום

מדידת קידומי מכירות פנימיים

מסחר אלקטרוני משופר כולל תמיכה במדידת חשיפות וקליקים של קידומי מכירות פנימיים, כמו מודעות באנר שמוצגות כדי לקדם מבצע.

חשיפות של קידום מכירות

בדרך כלל, חשיפות של קידום מכירות פנימי נמדדות באמצעות הצפייה הראשונית במסך באמצעות השיטה 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());