מדידת קמפיינים – Android SDK

במסמך הזה מפורטת סקירה כללית של מדידת קמפיינים ומקורות תנועה באמצעות Google Analytics SDK for Android v3.

סקירה

מדידה של קמפיינים ב-Google Analytics מאפשרת לשייך קמפיינים ומקורות תנועה לפעילות המשתמשים באפליקציה שלך. האפשרויות הבאות זמינות לשיוך של קמפיינים ומקורות תנועה ב-Google Analytics SDK ל-Android:

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

פרמטרים בקמפיינים

פרמטרים של קמפיינים משמשים להעברת מידע על מקורות התנועה ועל הקמפיינים שמביאים משתמשים לאפליקציה שלך.

הטבלה הבאה מכילה את הפרמטרים הזמינים של קמפיין, שניתן להשתמש בהם ב-Google Play או במדידה כללית של הקמפיין:

פרמטר תיאור דוגמאות
utm_campaign שם הקמפיין; משמש לניתוח של מילות מפתח כדי לזהות קידום מכירות של מוצר ספציפי או קמפיין אסטרטגי utm_campaign=spring_sale
utm_source מקור הקמפיין; משמש לזיהוי מנוע חיפוש, ניוזלטר או מקור אחר utm_source=google
utm_medium אמצעי ההגעה לאתר בקמפיין; משמש לזיהוי אמצעי הגעה לאתר, כמו אימייל או עלות לקליק (CPC) utm_medium=cpc
utm_term מונח של קמפיין; משמש לחיפוש בתשלום כדי לספק את מילות המפתח למודעות utm_term=running+shoes
utm_content תוכן הקמפיין. משמש לבדיקות A/B ולמודעות שמטורגטות לפי תוכן כדי להבדיל בין מודעות או קישורים שמפנים לאותה כתובת URL utm_content=logolink
utm_content=textlink
gclid פרמטר התיוג האוטומטי של Google Ads; משמש למדידת מודעות. הערך הזה נוצר באופן דינמי ואין לשנות אותו אף פעם.

שיוך כללי של קמפיינים ומקורות תנועה

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

לדוגמה, היישום הבא בודק את הכוונה שהפעילה את האפליקציה עבור פרמטרים של קמפיין ב-Google Analytics:

package com.example.app;

import com.google.analytics.tracking.android.Fields;
import com.google.analytics.tracking.android.GoogleAnalytics;
import com.google.analytics.tracking.android.MapBuilder;
import com.google.analytics.tracking.android.Tracker;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;

import java.util.Map;

/*
 * An example of how to implement general campaign attribution in Android.
 *
 * If the intent that launched the Activity has a URI, parse it for campaign
 * parameters and send the referring data to Google Analytics.
 */
public class MainActivity extends Activity {

  private static final String GA_PROPERTY_ID = "UA-XXXX-Y";
  private static final String SCREEN_LABEL = "Home Screen";

  // This examples assumes the use of Google Analytics campaign
  // "utm" parameters, like "utm_source".
  private static final String CAMPAIGN_SOURCE_PARAM = "utm_source";

  Tracker mTracker;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mTracker = GoogleAnalytics.getInstance(this).getTracker(GA_PROPERTY_ID);
  }

  @Override
  public void onStart() {
    super.onStart();

    // Set screen name on tracker so that all subsequent hits will use this
    // value.
    mTracker.set(Fields.SCREEN_NAME, SCREEN_LABEL);

    // Get the intent that started this Activity.
    Intent intent = this.getIntent();
    Uri uri = intent.getData();

    // Send a screenview using any available campaign or referrer data.
    MapBuilder.createAppView().setAll(getReferrerMapFromUri(uri));
  }

  /*
   * Given a URI, returns a map of campaign data that can be sent with
   * any GA hit.
   *
   * @param uri A hierarchical URI that may or may not have campaign data
   *     stored in query parameters.
   *
   * @return A map that may contain campaign or referrer
   *     that may be sent with any Google Analytics hit.
   */
  Map<String,String> getReferrerMapFromUri(Uri uri) {

    MapBuilder paramMap = new MapBuilder();

    // If no URI, return an empty Map.
    if (uri == null) { return paramMap.build(); }

    // Source is the only required campaign field. No need to continue if not
    // present.
    if (uri.getQueryParameter(CAMPAIGN_SOURCE_PARAM) != null) {

      // MapBuilder.setCampaignParamsFromUrl parses Google Analytics campaign
      // ("UTM") parameters from a string URL into a Map that can be set on
      // the Tracker.
      paramMap.setCampaignParamsFromUrl(uri.toString());

     // If no source parameter, set authority to source and medium to
     // "referral".
     } else if (uri.getAuthority() != null) {

       paramMap.set(Fields.CAMPAIGN_MEDIUM, "referral");
       paramMap.set(Fields.CAMPAIGN_SOURCE, uri.getAuthority());

     }

     return paramMap.build();
  }
}

לחלופין, אם יש לכם פרטי קמפיין בפורמט שאינו פרמטרים של קמפיין ב-Google Analytics, אפשר להגדיר אותם באמצעות Map ולשלוח אותם באופן ידני:

// May return null if EasyTracker has not yet been initialized with a property ID.
EasyTracker easyTracker = EasyTracker.getInstance(this);
easyTracker.set(Fields.SCREEN_NAME, "Home Screen");

// In this example, campaign information is set using a Map, rather than
// a url string with Google Analytics campaign parameters.
// Note that Fields.CAMPAIGN_KEYWORD is not necessary for this campaign.
HashMap<String, String> campaignData = new HashMap<String, String>();
campaignData.put(Fields.CAMPAIGN_SOURCE, "email");
campaignData.put(Fields.CAMPAIGN_MEDIUM, "email marketing");
campaignData.put(Fields.CAMPAIGN_NAME, "summer_campaign");
campaignData.put(Fields.CAMPAIGN_CONTENT, "email_variation_1");

MapBuilder paramMap = MapBuilder.createAppView();

// Campaign data sent with this hit.
// Note that the campaign data is set on the Map, not the tracker.
easyTracker.send(paramMap
    .setAll(campaignData).build()
);

ייחוס לקמפיין ב-Google Play

מדידת הקמפיינים ב-Google Play מאפשרת לך לראות אילו קמפיינים ומקורות תנועה שולחים משתמשים להוריד את האפליקציה שלך מחנות Google Play. מומלץ לכל המפתחים להטמיע את מדידת הקמפיינים בחנות Google Play.

הטמעת שיוך (Attribution) בקמפיינים ב-Google Play

כשמורידים את האפליקציה מחנות Google Play, האפליקציה של חנות Play משדרת INTENT_REFERRER לאפליקציה במהלך ההתקנה. ה-Intent הזה מכיל את הערך של הפרמטר referrer של הקישור ששימש כדי להגיע לדף האפליקציה שלך בחנות Google Play, אם קיים.

כדי לשייך הורדת אפליקציה לקמפיין, צריך להוסיף פרמטר referrer לכל קישור שמפנה לחנות Google Play, ולהוסיף לאפליקציה BroadcastReceiver כדי לקבל ולהגדיר את פרטי הקמפיין שנכללים ב-Intent בכלי המעקב של Google Analytics.

מומלץ לרוב המפתחים להשתמש ב-BroadcastReceiver שסופק עם ה-SDK. כדי להטמיע מדידת קמפיינים בחנות Google Play באמצעות המקלט הכלול:

‫1. מוסיפים את המקבל של Google Analytics לקובץ AndroidManifest.xml. כדי להוסיף את המקבל של Google Analytics למניפסט, מעתיקים ומדביקים את תגי העיצוב הבאים:

<!-- Used for Google Play Store Campaign Measurement-->;
<service android:name="com.google.analytics.tracking.android.CampaignTrackingService" />
<receiver android:name="com.google.analytics.tracking.android.CampaignTrackingReceiver" android:exported="true">
  <intent-filter>
    <action android:name="com.android.vending.INSTALL_REFERRER" />
  </intent-filter>
</receiver>

‫2. הוספת פרמטרים של קמפיינים מ-Google Analytics לכתובות URL ב-Google Play

בשלב הבא, מוסיפים פרמטר referrer לכל כתובת URL שתקושר ישירות לחנות Google Play, ומגדירים את הערך של הפרמטר למחרוזת של פרמטרים בקמפיין ב-Google Analytics שמתארים את המקור, כמו בדוגמה הבאה:

https://play.google.com/store/apps/details?id=com.example.app
&referrer=utm_source%3Dgoogle
%26utm_medium%3Dcpc
%26utm_term%3Dpodcast%252Bapps
%26utm_content%3DdisplayAd1
%26utm_campaign%3Dpodcast%252Bgeneralkeywords

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

הכלי ליצירת כתובות URL של Google Play

אפשר להשתמש בכלי שלמטה כדי ליצור כתובות URL למדידת קמפיינים ב-Google Play.