כדי לאפשר שינויים בזמן הריצה בהטמעת Google Analytics שלא מצריכים בנייה מחדש ושליחה מחדש של הקובץ הבינארי של האפליקציה לזירות מסחר, צריך להטמיע את Universal Analytics (UA) באפליקציה באמצעות Google Tag Manager (GTM).
במדריך הזה מוסבר איך להשתמש בתגי Universal Analytics וב-SDK של Google Tag Manager ל-Android כדי:
שליחת צפיות במסך
כדי לשלוח אל Google Analytics צפייה במסך בכל פעם שפותחים מסך חדש באפליקציה:
- יצירת משתנה של שם מסך
- יצירת אירוע של מסך פתוח
- יצירת תג של Universal Analytics לצפייה במסך
- דחיפת אירוע של מסך פתוח ואת שם המסך לשכבת הנתונים
1. יצירת משתנה של שם מסך
כדי ליצור משתנה של שם מסך ב-GTM:
- נכנסים לחשבון Google Tag Manager.
- בוחרים מאגר לניידים.
- בסרגל הניווט שמימין, לוחצים על משתנים.
- בקטע משתנים בהגדרת המשתמש, לוחצים על חדש.
- לוחצים על משתנה ללא שם כדי להזין את שם המשתנה שם המסך.
- בוחרים באפשרות Data Layer Variable (משתנה של שכבת נתונים) בתור סוג המשתנה.
- מזינים את screenName בתור שם המשתנה של שכבת הנתונים ומגדירים את ערך ברירת המחדל מסך לא ידוע.
- לוחצים על Create Variable (יצירת משתנה).
2. יצירת טריגר לאירוע במסך פתוח
כדי ליצור ב-GTM טריגר להפעלת תג הצפייה במסך של Universal Analytics:
- נכנסים לחשבון Google Tag Manager.
- בוחרים מאגר לניידים.
- בסרגל הניווט הימני, לוחצים על Triggers (טריגרים).
- לוחצים על New (חדש).
- לוחצים על Untitled Trigger כדי להזין את שם הטריגר OpenScreenEvent.
- בוחרים באפשרות אירוע בהתאמה אישית.
- בקטע Fire On מזינים את התנאי הבא:
- לוחצים על Create Trigger (יצירת טריגר).
3. יצירת תג צפייה במסך של Universal Analytics
כדי ליצור תג צפייה במסך של Universal Analytics שמופעל על ידי אירוע מסך פתוח:
- נכנסים לחשבון Google Tag Manager.
- בוחרים מאגר לניידים.
- בסרגל הניווט שמימין, לוחצים על Tags (תגים).
- לוחצים על New (חדש).
- לוחצים על תג ללא שם כדי להזין את שם התג Open Screen.
- בוחרים את המוצר Google Analytics.
- מזינים את המזהה לצורכי מעקב.
- בוחרים באפשרות צפייה באפליקציה בתור סוג המעקב.
- לוחצים על הגדרות נוספות.
- לוחצים על שדות להגדרה.
- לוחצים שוב ושוב על + הוספת שדה כדי להוסיף את השדות הבאים:
- לוחצים על המשך.
- בקטע Fire On לוחצים על Custom.
- בוחרים את הטריגר המותאם אישית OpenScreenEvent.
- לוחצים על שמירה.
- לוחצים על יצירת תג.
4. דחיפת אירוע של מסך פתוח ושם מסך לשכבת נתונים
מוסיפים קוד לאפליקציה כדי לדחוף אירוע openScreen
וערך screenName
לשכבת הנתונים. לדוגמה:
import com.google.tagmanager.DataLayer; import com.google.tagmanager.TagManager; import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity { private static final String SCREEN_NAME = "Home Screen"; private DataLayer mDataLayer; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(); } @Override public void onStart() { super.onStart(); mDataLayer = TagManager.getInstance(this).getDataLayer(); // Push an openScreen event and a screenName value to the data layer. // This call assumes the container has already been opened, otherwise events // pushed to the data layer will not fire tags in that container. mDataLayer.push(DataLayer.mapOf("event", "openScreen", "screenName", SCREEN_NAME)); } }
שליחת אירועים
כדי לשלוח אירוע ל-Google Analytics כשמשתמש יוצר אינטראקציה עם בקרות ממשק המשתמש או התוכן באפליקציה:
- (אופציונלי) יצירה של משתני אירועים
- יצירת טריגר לאירוע
- יצירת תג מעקב אירועים של Universal Analytics
- דחיפת ערך של אירוע ומשתנה אירוע לשכבת נתונים
בשלבים הבאים מוסבר איך אירוע נשלח ל-Google Analytics כשמשתמש מתחיל הפעלה של סרטון.
1. (אופציונלי) יוצרים משתנים של אירועים.
אם האירוע משתמש במשתנים של שכבת נתונים כדי לייצג את השדות של הקטגוריה, הפעולה, התווית או הערך שלו, קודם צריך ליצור את המשתנים האלה. בדוגמה הזו, תג האירוע של הפעלת סרטון משתמש במשתנה של שכבת נתונים כדי לקבל את שם הסרטון.
כדי ליצור משתנה של שם סרטון ב-GTM:
- נכנסים לחשבון Google Tag Manager.
- בוחרים מאגר לניידים.
- בסרגל הניווט שמימין, לוחצים על משתנים.
- בקטע משתנים בהגדרת המשתמש, לוחצים על חדש.
- לוחצים על משתנה ללא שם כדי להזין את שם המשתנה שם הסרטון.
- בוחרים באפשרות Data Layer Variable (משתנה של שכבת נתונים) בתור סוג המשתנה.
- מזינים את videoName בתור שם המשתנה של שכבת הנתונים ומגדירים את ערך ברירת המחדל של הסרטון כ-unknown video.
- לוחצים על Create Variable (יצירת משתנה).
2. יצירת טריגר לאירוע
כך יוצרים ב-GTM טריגר לאירוע, שיגרום להפעלת תג מעקב האירועים של Universal Analytics:
- נכנסים לחשבון Google Tag Manager.
- בוחרים מאגר לניידים.
- בסרגל הניווט הימני, לוחצים על Triggers (טריגרים).
- לוחצים על New (חדש).
- לוחצים על Untitled Trigger כדי להזין את שם הטריגר VideoPlayEvent.
- בוחרים באפשרות אירוע בהתאמה אישית.
- בקטע Fire On מזינים את התנאי הבא:
- לוחצים על Create Trigger (יצירת טריגר).
3. יצירת תג מעקב אירועים של Universal Analytics
כדי ליצור תג מעקב אירועים של Universal Analytics שהופעל על ידי אירוע הפעלת סרטון:
- נכנסים לחשבון Google Tag Manager.
- בוחרים מאגר לניידים.
- בסרגל הניווט שמימין, לוחצים על Tags (תגים).
- לוחצים על New (חדש).
- לוחצים על תג ללא שם כדי להזין את שם התג אירוע Video Play.
- בוחרים את המוצר Google Analytics.
- מזינים את המזהה לצורכי מעקב.
- בוחרים באפשרות אירוע בתור סוג המעקב.
- מזינים את הפרמטרים הבאים של מעקב אחר אירועים:
- לוחצים על הגדרות נוספות.
- לוחצים על שדות להגדרה.
- לוחצים שוב ושוב על + הוספת שדה כדי להוסיף את השדות הבאים:
- לוחצים על המשך.
- בקטע Fire On לוחצים על Custom.
- בוחרים את הטריגר המותאם אישית VideoPlayEvent.
- לוחצים על שמירה.
- לוחצים על יצירת תג.
4. דחיפת ערך של אירוע ומשתנה אירוע לשכבת הנתונים
כותבים קוד כדי לדחוף אירוע videoPlay
וערך videoName
לשכבת הנתונים, לדוגמה:
import com.google.tagmanager.DataLayer; import com.google.tagmanager.TagManager; public class VideoPlayer { // Called when a user starts a video playback. public void onPlay(Video v) { DataLayer dataLayer = TagManager.getInstance(this).getDataLayer(); // Push a videoPlay event and a videoName value to the data layer. // This call assumes the container has already been opened, otherwise events // pushed to the data layer will not fire tags in that container. dataLayer.push(DataLayer.mapOf("event", "videoPlay", "videoName", v.getName()); play(v); } // Rest of the implementation. // ... }
לשלוח פירוט עסקאות
כשמשתמש משלים רכישה מתוך האפליקציה, כדי לשלוח את העסקה ואת הפריטים המשויכים ל-Google Analytics:
- יצירת טריגר לעסקה
- יצירת תג עסקה של Universal Analytics
- דחיפת אירועים, טרנזקציות ופריטים לשכבת הנתונים
במאמר משתנים נתמכים בשכבות של נתוני מסחר אלקטרוני תוכלו למצוא רשימה של שמות המשתנים הנתמכים של טרנזקציות ופריטים.
1. יצירת טריגר לעסקה
כדי ליצור טריגר טרנזקציה ב-GTM להפעלת תג הטרנזקציה של Universal Analytics:
- נכנסים לחשבון Google Tag Manager.
- בוחרים מאגר לניידים.
- בסרגל הניווט הימני, לוחצים על Triggers (טריגרים).
- לוחצים על New (חדש).
- לוחצים על Untitled Trigger כדי להזין את שם הטריגר TransactionGoal.
- בוחרים באפשרות אירוע בהתאמה אישית.
- בקטע Fire On מזינים את התנאי הבא:
- לוחצים על Create Trigger (יצירת טריגר).
2. יצירת תג עסקה של Universal Analytics
כדי ליצור תג עסקה של Universal Analytics שמופעל על ידי אירוע העסקה:
- נכנסים לחשבון Google Tag Manager.
- בוחרים מאגר לניידים.
- בסרגל הניווט שמימין, לוחצים על Tags (תגים).
- לוחצים על New (חדש).
- לוחצים על תג ללא שם כדי להזין את שם התג העסקה הושלמה.
- בוחרים את המוצר Google Analytics.
- מזינים את המזהה לצורכי מעקב.
- בוחרים באפשרות עסקה בתור סוג המעקב.
- לוחצים על הגדרות נוספות.
- לוחצים על שדות להגדרה.
- לוחצים שוב ושוב על + הוספת שדה כדי להוסיף את השדות הבאים:
- לוחצים על המשך.
- בקטע Fire On לוחצים על Custom.
- בוחרים את הטריגר המותאם אישית TransactionCompleted.
- לוחצים על שמירה.
- לוחצים על יצירת תג.
3. דחיפת אירועים, טרנזקציות ופריטים לשכבת הנתונים
כותבים קוד כדי לדחוף את האירוע של הטרנזקציה, את הטרנזקציה ואת הפריטים המשויכים לשכבת הנתונים. כדי לדחוף לשכבת הנתונים את נתוני העסקאות והפריטים, עליכם להשתמש בשמות הנתמכים של משתני טרנזקציות ופריטים. לדוגמה:
// Called when a user completes a transaction. public void onPurchaseCompleted(Purchase p) { DataLayer dataLayer = TagManager.getInstance(this).getDataLayer(); // Put maps of item data into an array to be pushed to the data layer. ArrayList<Map<String, String>> purchasedItems = new ArrayList<Map<String, String>>(); for (Item i : p.items) { HashMap<String, String> currentItem = new HashMap<String, String>(); currentItem.put("name", i.getProductName()); currentItem.put("sku", i.getProductSku()); currentItem.put("category", i.getProductCategory()); currentItem.put("price", i.getProductPrice()); currentItem.put("currency", "USD"); currentItem.put("quantity", i.getProductQty()); purchasedItems.add(currentItem); } // This call assumes the container has already been opened, otherwise events // pushed to the [DataLayer] data layer will not fire tags in that container. dataLayer.push(DataLayer.mapOf("event", "transaction", "transactionId", p.getTransId(), "transactionTotal", p.getTotal(), "transactionAffiliation", "In-app Store", "transactionTax", p.getTax(), "transactionShipping", p.getShippingCost(), "transactionCurrency", "USD", "transactionProducts", purchasedItems)); // Because the data layer is persistent, you should reset fields to null // after you are done pushing the transaction. dataLayer.push(DataLayer.mapOf("transactionId", null, "transactionTotal", null, "transactionAffiliation", null, "transactionTax", null, "transactionShipping", null, "transactionCurrency", null, "transactionProducts", null)); }
למידע נוסף על השימוש ב-Google Tag Manager SDK ל-Android לצורך הטמעת תכונות של מסחר אלקטרוני משופר של Universal Analytics, קראו את המאמר מסחר אלקטרוני משופר.
משתני שכבות של נתוני מסחר אלקטרוני נתמכים
תגי טרנזקציות אוניברסליים תומכים בשמות המשתנים הבאים של טרנזקציות ופריטים.
משתני עסקה
שם משתנה | התיאור | תיאור | נדרש |
---|---|---|---|
transactionId |
מזהה עסקה ייחודי | מחרוזת | כן |
transactionAffiliation |
שותף או חנות | מחרוזת | לא |
transactionTotal |
הערך הכולל של העסקה | מחרוזת | לא |
transactionTax |
סכום המס של העסקה | מחרוזת | לא |
transactionShipping |
עלות המשלוח של העסקה | מחרוזת | לא |
transactionCurrency |
מטבע העסקה | מחרוזת | לא |
transactionProducts |
רשימת פריטים שנרכשו בעסקה | מערך של משתני פריטים המכילים. | לא |
משתנים של פריטים
שם משתנה | התיאור | תיאור | נדרש |
---|---|---|---|
name |
שם המוצר | מחרוזת | כן |
sku |
מק"ט של המוצר | מחרוזת | לא |
category |
קטגוריית המוצר | מחרוזת | לא |
price |
מחיר המוצר | מחרוזת | לא |
currency |
סוג המטבע של price |
מחרוזת | לא |
quantity |
כמות הפריטים | מחרוזת | לא |
התקנה של שיוך לגורם מפנה
אם תרשמו את השירות ואת המקבל הבאים בקובץ AndroidManifest.xml
, הנתונים הזמינים של הגורם המפנה להתקנות ייכללו באופן אוטומטי בכל ההיטים של Google Analytics או בקשות לפיקסלים לרימרקטינג ב-AdWords:
<service android:name="com.google.tagmanager.InstallReferrerService" /> <receiver android:name="com.google.tagmanager.InstallReferrerReceiver" android:exported="true"> <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter> </receiver>