מדריך זה מתאר כיצד ליישם תכונות של מסחר אלקטרוני משופר ב-Universal Analytics באמצעות ה-SDK של Google Tag Manager עבור Android.
סקירה כללית
התכונה 'מסחר אלקטרוני משופר' ב-Google Analytics מאפשרת שליחה של נתוני הופעות, מבצעים ומכירות של מוצרים עם כל אחד מהצפיות במסך והאירועים שלך ב-Google Analytics.
לפני שתתחיל
מומלץ לעיין בקטע סוגים ופעולות של נתוני מסחר אלקטרוני משופרים במדריך למפתחים בנושא מסחר אלקטרוני משופר ב-Google Analytics (אתרים) כדי לקבל עזרה בתכנון ההטמעה. המדריך יעזור לכם להבין אילו שדות הם שדות חובה ושדות אופציונליים בכל אחת מהאינטראקציות של המסחר האלקטרוני שאתם רוצים למדוד.
הטמעה
בקטעים הבאים מוסבר איך להשתמש בשכבת הנתונים כדי למדוד את הפעילויות הבאות של מסחר אלקטרוני משופר:
- חשיפות של מוצרים
- קליקים על מוצרים/בחירה של מוצרים
- חשיפות של פרטי המוצר
- הוספה לעגלת הקניות או הסרה ממנה
- חשיפות של קידום מכירות
- קליקים/בחירות של קידום מכירות
- קופה
- רכישות
- החזרים כספיים
מדידת הופעות של מוצרים
- מדידת מסחר אלקטרוני:
impressions
- ניתן להזין נתונים: מערך של
impressionFieldObjects
כדי למדוד חשיפות של מוצרים אפשר להשתמש בפעולה impression
ולפחות בimpressionFieldObjects
אחד. בדוגמה הבאה ההנחה היא שהפרטים לגבי המוצרים המוצגים ידועים במועד שבו המסך מוצג:
// Product impressions are sent by pushing an impressions object // containing one or more impressionFieldObjects. dataLayer.push("ecommerce", DataLayer.mapOf( "currencyCode", "EUR", // Local currency is optional. "impressions", DataLayer.listOf( DataLayer.mapOf( "name", "Triblend Android T-Shirt", // Name or ID is required. "id", "12345", "price", "15.25", "brand", "Google", "category", "Apparel", "variant", "Gray", "list", "Search Results", "position", 1), DataLayer.mapOf( "name", "Donut Friday Scented T-Shirt", "id", "67890", "price", "33.75", "brand", "Google", "category", "Apparel", "variant", "Black", "list", "Search Results", "position", 2))));
מדידת קליקים/בחירות על מוצרים
- מדידת מסחר אלקטרוני:
click
- ניתן להזין נתונים:
list
, מערך שלproductFieldObjects
כדי למדוד את בחירת המוצרים, מעבירים את הפעולה click
לשכבת
הנתונים, יחד עם productFieldObject
שמייצג את
המוצר שנבחר:
dataLayer.pushEvent("productClick", DataLayer.mapOf( "ecommerce", DataLayer.mapOf( "click", DataLayer.mapOf( "actionField", DataLayer.mapOf( "list", "Search Results"), // Optional list property. "products", DataLayer.listOf( DataLayer.mapOf( "name", "Triblend Android T-Shirt", // Name or ID is required. "id", "12345", "price", "15.25", "brand", "Google", "category", "Apparel", "variant", "Gray"))))));
מדידת צפיות בפרטי מוצר
- מדידת מסחר אלקטרוני:
detail
- ניתן להזין נתונים:
list
, מערך שלproductFieldObjects
כדי למדוד צפייה של פרטי מוצרים, מעבירים את הפעולה detail
לשכבת הנתונים, יחד עם productFieldObjects
אחד או יותר שמייצגים את המוצרים שנצפו:
// Measure a view of product details. dataLayer.push("ecommerce", DataLayer.mapOf( "detail", DataLayer.mapOf( "actionField", DataLayer.mapOf( "list", "Apparel Gallery"), // detail actions have an optional list property. "products", DataLayer.listOf( DataLayer.mapOf( "name", "Triblend Android T-Shirt", // Name or ID is required. "id", "12345", "price", "15.25", "brand", "Google", "category", "Apparel", "variant", "Gray")))));
מדידה של הוספה או הסרה מעגלת קניות
- מדידת מסחר אלקטרוני:
add
,remove
- ניתן להזין נתונים:
list
, מערך שלproductFieldObjects
ניתן למדוד הוספות או הסרות מעגלת קניות באמצעות
add
או remove
actionFieldObject
ורשימה של productFieldObjects
:
הוספת מוצר לעגלת קניות
// Measure adding a product to a shopping cart by using an "add" // actionFieldObject and a list of productFieldObjects. dataLayer.pushEvent("addToCart", DataLayer.mapOf( "ecommerce", DataLayer.mapOf( "currencyCode", "EUR", "add", DataLayer.mapOf( // 'add' actionFieldObject measures. "products", DataLayer.listOf( DataLayer.mapOf( "name", "Triblend Android T-Shirt", "id", "12345", "price", "15.25", "brand", "Google", "category", "Apparel", "variant", "Gray", "quantity", 1))))));
הסרת מוצר מעגלת קניות
// Measure the removal of a product from a shopping cart. dataLayer.pushEvent("removeFromCart", DataLayer.mapOf( "ecommerce", DataLayer.mapOf( "remove", DataLayer.mapOf( // 'remove' actionFieldObject measures. "products", DataLayer.listOf( DataLayer.mapOf( "name", "Triblend Android T-Shirt", "id", "12345", "price", "15.25", "brand", "Google", "category", "Apparel", "variant", "Gray", "quantity", 1))))));
מדידת קידומי מכירות
אפשר למדוד גם חשיפות וגם בחירות בקידומי מכירות פנימיים של אפליקציות, כמו מודעות באנר שמוצגות באפליקציה כדי לפרסם מבצע על קבוצת משנה מסוימת של מוצרים, או הצעה למשלוח חינם.
מדידת הופעות של קידום מכירות
- מדידת מסחר אלקטרוני:
promoView
- ניתן להזין נתונים: מערך של
promoFieldObjects
כדי למדוד חשיפה של קידום מכירות, צריך להגדיר את המפתח promoView
בשכבת נתוני המסחר האלקטרוני לערך promoFieldObject
שמתאר את קידומי המכירות שמוצגים למשתמשים במסך:
// An example of measuring promotion views. This example assumes that // information about the promotions displayed is available when the screen is // displayed. dataLayer.push("ecommerce", DataLayer.mapOf( "promoView", DataLayer.mapOf( "promotions", DataLayer.listOf( // List of promoFieldObjects. DataLayer.mapOf( "id", "JUNE_PROMO13", // ID or Name is required. "name", "June Sale", "creative", "banner1", "position", "slot1"), DataLayer.mapOf( "id", "FREE_SHIP13", "name", "Free Shipping Promo", "creative", "skyscraper1", "position", "slot2")))));
מדידת קליקים/בחירות של קידום מכירות
כדי למדוד בחירת מבצע, צריך לדחוף את הפעולה promoClick
לשכבת הנתונים עם מערך שמכיל promoFieldObject
שמתאר את המבצע שנבחר:
dataLayer.pushEvent("promotionClick", DataLayer.mapOf( "ecommerce", DataLayer.mapOf( "promoClick", DataLayer.mapOf( "promotions", DataLayer.listOf( DataLayer.mapOf( "id", "JUNE_PROMO13", // Name or ID is required. "name", "June Sale", "creative", "banner1", "position", "slot1"))))));
מדידת תשלומים בקופה
כדי למדוד כל שלב בתהליך התשלום, צריך:
- מודדים כל שלב בתהליך התשלום באמצעות הפעולה
checkout
. - אם רלוונטי, אפשר למדוד את האפשרויות בסיום הקנייה באמצעות
הפעולה
checkout_option
. - אם רוצים להגדיר שמות לשלבים ידידותיים למשתמש בדוח משפך התשלום, אפשר להגדיר את הגדרות מסחר אלקטרוני בקטע אדמין בממשק האינטרנט.
1. מדידת השלבים בתהליך התשלום
- מדידת מסחר אלקטרוני:
checkout
- ניתן להזין נתונים:
step
, מערך שלproductFieldObjects
כדי למדוד את תהליך התשלום, שעשוי לכלול לחצן תשלום ומסך תשלום אחד או יותר שבהם המשתמשים מזינים פרטי משלוח ותשלום, יש להשתמש בפעולה checkout
ובשדה step
כדי לציין באיזה שלב בתהליך התשלום נמדד.
אפשר גם להשתמש בשדה option
כדי לספק עוד
נתונים על תהליך התשלום בקופה, כמו סוג התשלום
שנבחר על ידי המשתמש.
dataLayer.pushEvent("checkout", DataLayer.mapOf( "ecommerce", DataLayer.mapOf( "checkout", DataLayer.mapOf( "actionField", DataLayer.mapOf( "step", 1, "option", "Visa"), "products", DataLayer.listOf( DataLayer.mapOf( "name", "Triblend Android T-Shirt", "id", "12345", "price", "15.25", "brand", "Google", "category", "Apparel", "variant", "Gray", "quantity", 1))))));
2. אפשרויות מדידה של תהליך התשלום
- מדידת מסחר אלקטרוני:
checkout_option
- מקבלים נתונים:
step
,option
אפשרות התשלום בקופה שימושית במקרים שבהם כבר מדדת
שלב בקופה, אבל ברצונך לתעד מידע נוסף לגבי אותו
שלב בקופה. לדוגמה, שיטת המשלוח שהמשתמש בחר.
כדי למדוד זאת, צריך להשתמש בפעולה checkout_option
בשילוב עם השדות step
ו-option
.
dataLayer.pushEvent("checkoutOption", DataLayer.mapOf( "ecommerce", DataLayer.mapOf( "checkout_option", DataLayer.mapOf( "products", DataLayer.listOf(), // checkout_option expects a list of products. The workaround is to provide an empty list. "actionField", DataLayer.mapOf( "step", 1, "option", "Express")))));
3. הגדרת משפך התשלום
אפשר לתת לכל שלב בתהליך התשלום שם תיאורי שישמש בדוחות. כדי להגדיר את השמות האלה, היכנסו לקטע ניהול בממשק האינטרנט של Google Analytics, בחרו את התצוגה המפורטת (פרופיל) ולחצו על הגדרות מסחר אלקטרוני. צריך לפעול לפי ההוראות להגדרת מסחר אלקטרוני כדי להוסיף תוויות לכל שלב בקופה שברצונך לעקוב אחריו.
מדידת רכישות
- מדידת מסחר אלקטרוני:
purchase
- יתקבלו נתונים:
id
(מזהה עסקה), מערך שלproductFieldObjects
דחיפת פרטי העסקאות לשכבת הנתונים באמצעות הפעולה purchase
, יחד עם event
שיפעיל תג התומך במסחר אלקטרוני משופר. בדוגמה הזו, פרטי העסקה
ידועים בזמן הצגת המסך:
// Send transaction data with a screenview if possible. // Otherwise, use an event when the transaction data becomes available. dataLayer.push("ecommerce", DataLayer.mapOf( "purchase", DataLayer.mapOf( "actionField", DataLayer.mapOf( "id", "T12345", // Transaction ID. Required for purchases and refunds. "affiliation", "Online Store", "revenue", "35.43", // Total transaction value (incl. tax and shipping) "tax", "4.90", "shipping", "5.99", "coupon", "SUMMER_SALE"), "products", DataLayer.listOf( // List of productFieldObjects. DataLayer.mapOf( "name", "Triblend Android T-Shirt", // Name or ID is required. "id", "12345", "price", "15.25", "brand", "Google", "category", "Apparel", "variant", "Gray", "quantity", 1, "coupon", ""), // Optional fields may be omitted or set to empty string. DataLayer.mapOf( "name", "Donut Friday Scented T-Shirt", "id", "67890", "price", "33.75", "brand", "Google", "category", "Apparel", "variant", "Black", "quantity", 1)))));
מדידת החזרים כספיים
- מדידת מסחר אלקטרוני:
refund
- יתקבלו נתונים:
id
(מזהה עסקה), מערך שלproductFieldObjects
כדי למדוד החזר כספי מלא על עסקה, יש לשלוח
refund
actionFieldObject
יחד עם מזהה העסקה של העסקה שהוחזרה:
// Refund an entire transaction by providing the transaction ID. This example // assumes the details of the completed refund are available when the screen // is displayed. dataLayer.push("ecommerce", DataLayer.mapOf( "refund", DataLayer.mapOf( "products", DataLayer.listOf(), // refund expects a list of products. The workaround is to provide an empty list. "actionField", DataLayer.mapOf( "id", "T12345")))); // Transaction ID. Required for refunds.
כדי למדוד החזר כספי חלקי, צריך להוסיף רשימה של
productFieldObjects
, כולל מזהי המוצרים והכמויות
שרוצים לקבל עליהם החזר כספי:
// Measure a partial refund by providing an array of productFieldObjects and // specifying the ID and quantity of each product being returned. This example // assumes the partial refund details are known at the time the screen is // displayed: dataLayer.push("ecommerce", DataLayer.mapOf( "refund", DataLayer.mapOf( "products", DataLayer.listOf( DataLayer.mapOf( "id", "P4567", "quantity", 1), // Product ID & quantity. Required for partial refunds. DataLayer.mapOf( "id", "P8901", "quantity", 2)), "actionField", DataLayer.mapOf( "id", "T12345")))); // Transaction ID.
שילוב של חשיפות ופעולות
במקרים שבהם יש לך גם חשיפות של מוצרים וגם פעולה, ניתן לשלב ולמדוד זאת בהיט אחד.
הדוגמה הבאה מראה איך למדוד תצוגה של פרטי מוצר עם חשיפות של מוצרים מקטע של מוצרים קשורים:
dataLayer.push("ecommerce", DataLayer.mapOf( "impressions", DataLayer.listOf( DataLayer.mapOf( "name", "Triblend Android T-Shirt", // Name or ID is required. "id", "12345", "price", "15.25", "brand", "Google", "category", "Apparel", "variant", "Gray", "list", "Related Products", "position", 1), DataLayer.mapOf( "name", "Donut Friday Scented T-Shirt", "id", "67890", "price", "33.75", "brand", "Google", "category", "Apparel", "variant", "Black", "list", "Related Products", "position", 2)), "detail", DataLayer.mapOf( "actionField", DataLayer.mapOf( "list", "Apparel Gallery"), // 'detail' actions have an optional list property. "products", DataLayer.listOf( DataLayer.mapOf( "name", "Triblend Android T-Shirt", // Name or ID is required. "id", "12345", "price", "15.25", "brand", "Google", "category", "Apparel", "variant", "Gray")))));