Android v3 (लेगसी) - Universal Analytics टैग

इस गाइड में Android के लिए, Google Tag Manager SDK टूल का इस्तेमाल करके, सामान्य Universal Analytics टैग लागू करने का तरीका बताया गया है.

  1. Universal Analytics (UA) टैग के सामान्य कॉन्फ़िगरेशन
    1. ऐप्लिकेशन व्यू भेजना (स्क्रीन व्यू)
    2. इवेंट भेजना
    3. ई-कॉमर्स लेन-देन भेजना
      1. ई-कॉमर्स डेटा लेयर के वैरिएबल
    4. रेफ़रलकर्ता एट्रिब्यूशन इंस्टॉल करें

Universal Analytics (UA) टैग के सामान्य कॉन्फ़िगरेशन

Google Tag Manager की मदद से, अपने ऐप्लिकेशन में यूनिवर्सल Analytics को लागू करने पर, आपके Google Analytics को लागू करने के तरीके में तुरंत बदलाव हो जाता है. इसके लिए, आपको अपनी ऐप्लिकेशन बाइनरी को फिर से बनाकर उसे मार्केटप्लेस में फिर से सबमिट करने की ज़रूरत नहीं होती.

इस गाइड में बताया गया है कि Android के लिए, Universal Analytics टैग और Google Tag Manager SDK टूल का इस्तेमाल करके, यहां दिए गए टास्क कैसे पूरे करें:

ऐप्लिकेशन व्यू भेजना (स्क्रीन व्यू)

किसी ऐप्लिकेशन में हर बार नई स्क्रीन खोलने पर, Google Analytics को ऐप्लिकेशन व्यू (स्क्रीन व्यू) भेजने के लिए:

  1. स्क्रीन नाम मैक्रो बनाना
  2. OpenScreenEvent के लिए नियम बनाएं
  3. UA ऐप्लिकेशन व्यू (स्क्रीन व्यू) टैग बनाना
  4. इवेंट और स्क्रीन के नाम को डेटा लेयर में पुश करने के लिए कोड अपडेट करना

1. स्क्रीन नाम मैक्रो बनाएं

नीचे दिए गए कॉन्फ़िगरेशन मान का इस्तेमाल करके एक नया स्क्रीन नाम मैक्रो बनाएं:

मैक्रो का नाम : screen name
मैक्रो का टाइप : Data Layer Variable
डेटा लेयर के वैरिएबल का नाम : screenName

2. OpenScreenEvent नियम बनाएं

एक नया नियम बनाएं, जिसका इस्तेमाल यहां दी गई कॉन्फ़िगरेशन वैल्यू का इस्तेमाल करके, नया UA ऐप्लिकेशन व्यू (स्क्रीन व्यू) टैग को सक्रिय करने के लिए किया जाएगा:

नियम का नाम : OpenScreenEvent
शर्तें: {{ event }} openScreen के बराबर होती है

3. ऐप्लिकेशन व्यू (स्क्रीन व्यू) UA टैग बनाना

इन कॉन्फ़िगरेशन वैल्यू का इस्तेमाल करके, नया UA टैग बनाएं:

टैग का नाम : Screen Open
ट्रैकिंग आईडी : आपकी प्रॉपर्टी का आईडी
टैग टाइप : Universal Analytics (beta)
ट्रैक टाइप : AppView
बुनियादी कॉन्फ़िगरेशन - ऐप्लिकेशन का नाम : {{ app name }}
बुनियादी कॉन्फ़िगरेशन - ऐप्लिकेशन वर्शन : {{ app version }}
बुनियादी कॉन्फ़िगरेशन - स्क्रीन का नाम : {{ screen name }}}

4. इवेंट और स्क्रीन के नाम को डेटा लेयर में पुश करने के लिए कोड अपडेट करें

इस उदाहरण की तरह, डेटा लेयर में openScreen इवेंट और screenName वैल्यू पुश करने के लिए, ऐप्लिकेशन में कोड जोड़ें:

// Push an 'openScreen' event to the data layer.
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();

    // This call assumes the container has already been opened, otherwise events
    // pushed to the DataLayer will not fire tags in that container.
    mDataLayer.push(DataLayer.mapOf("event", "openScreen",        // Event, Name of Open Screen Event.
                                    "screenName", SCREEN_NAME));  // Name of screen name field, Screen name value.
  }
}

इवेंट भेजे जा रहे हैं

जब कोई उपयोगकर्ता आपके ऐप्लिकेशन में मौजूद यूज़र इंटरफ़ेस (यूआई) कंट्रोल या कॉन्टेंट से इंटरैक्ट करता है, तब Google Analytics को इवेंट भेजने के लिए:

  1. (ज़रूरी नहीं) इवेंट मैक्रो बनाना
  2. इवेंट का नियम बनाना
  3. UA इवेंट टैग बनाना
  4. डेटा लेयर में इवेंट और किसी भी इवेंट मैक्रो वैल्यू को पुश करने के लिए कोड अपडेट करना

नीचे दिए गए तरीके से पता चलेगा कि यह उस इवेंट के लिए कैसे काम करता है जो किसी उपयोगकर्ता के वीडियो चलाना शुरू करने पर ट्रिगर होता है.

1. (ज़रूरी नहीं) इवेंट मैक्रो बनाना

अगर इवेंट अपनी कैटगरी, कार्रवाई, लेबल या वैल्यू फ़ील्ड के लिए किसी डेटा लेयर वैरिएबल का इस्तेमाल करेगा, तो सबसे पहले आपको उन मैक्रो को इंटरफ़ेस में कॉन्फ़िगर करना होगा. इस उदाहरण में, वीडियो प्ले इवेंट टैग एक डेटा लेयर वैरिएबल पर निर्भर करेगा, जो चलाए गए वीडियो का नाम देता है.

वीडियो के इस नाम को लागू करने के लिए, हम इन कॉन्फ़िगरेशन वैल्यू के साथ एक नया मैक्रो बनाएंगे:

मैक्रो का नाम : video name
मैक्रो का टाइप: Data Layer Variable
डेटा लेयर के वैरिएबल का नाम : videoName

2. इवेंट का नियम बनाएं

एक ऐसा नियम बनाएं जिसके तहत, डेटा लेयर में पुश किए जाने पर इवेंट टैग ट्रिगर हो जाए. वीडियो चलाने के उदाहरण में, उस नए नियम के लिए कॉन्फ़िगरेशन वैल्यू ये होंगी:

नियम का नाम : VideoPlayEvent
शर्तें : {{ event }} videoPlay के बराबर होती है

UA इवेंट टैग बनाना

कोई UA इवेंट टैग बनाएं, जो पिछले चरण में बनाए गए नियम के true के आकलन के बाद फ़ायर हो. वीडियो चलाने के उदाहरण में, वह टैग कुछ ऐसा दिखेगा:

टैग का नाम : Video Play Event
ट्रैकिंग आईडी : आपकी प्रॉपर्टी का आईडी
टैग किस तरह का है : Universal Analytics (beta)
ट्रैक टाइप : Event
इवेंट ट्रैकिंग पैरामीटर - कैटगरी : Video
इवेंट ट्रैकिंग पैरामीटर - कार्रवाई : Play
इवेंट ट्रैकिंग पैरामीटर - लेबल : {{ video name }}
बुनियादी कॉन्फ़िगरेशन - ऐप्लिकेशन का नाम : {{ app name }}
बुनियादी कॉन्फ़िगरेशन - ऐप्लिकेशन वर्शन : {10-1/}

{{ app version }}{{ screen name }}

इवेंट को डेटा लेयर में पुश करने के लिए कोड अपडेट करें

आखिर में, अपना कोड अपडेट करके उसे डेटा लेयर में पुश करने के लिए, इवेंट वैल्यू और टैग के लिए ज़रूरी डेटा लेयर वैरिएबल, दोनों को डालें. ऐसा तब होगा, जब उपयोगकर्ता इंटरैक्शन पूरा कर लेगा. वीडियो चलाने के उदाहरण में, वह कोड कुछ ऐसा दिखेगा:

//  Push a 'videoPlay' event to the data layer.
import com.google.tagmanager.DataLayer;
import com.google.tagmanager.TagManager;

public class VideoPlayer {

  // Called when a user initiates a video playback.
  public void onPlay(Video v) {
    DataLayer dataLayer = TagManager.getInstance(this).getDataLayer();

    // This call assumes the container has already been opened, otherwise events
    // pushed to the DataLayer will not fire tags in that container.
    dataLayer.push(DataLayer.mapOf("event", "videoPlay",        // Event, Name of Open Screen Event.
                                   "videoName", v.getName());   // Additional data layer variables used by the event tag.
    play(v);
  }

  // Rest of implementation;

}

ई-कॉमर्स लेन-देन भेजना

जब कोई उपयोगकर्ता इन-ऐप्लिकेशन खरीदारी पूरी करता है, तो Google Analytics को लेन-देन और उससे जुड़ा कोई आइटम भेजने के लिए:

  1. लेन-देन का नियम बनाएं
  2. UA ट्रांज़ैक्शन टैग बनाना
  3. डेटा लेयर में इवेंट और लेन-देन / आइटम का डेटा पुश करने के लिए कोड अपडेट करना

1. लेन-देन का नियम बनाएं

इसके बाद, नीचे दी गई कॉन्फ़िगरेशन वैल्यू के साथ एक नया नियम बनाएं:

नियम का नाम : TransactionCompleted
शर्तें : {{ event }} transaction के बराबर होती है

2. UA ट्रांज़ैक्शन टैग बनाना

यहां दी गई वैल्यू के साथ UA ट्रांज़ैक्शन टैग बनाएं:

टैग का नाम : Transaction Completed
ट्रैकिंग आईडी : आपकी प्रॉपर्टी का आईडी
टैग टाइप : Universal Analytics (beta)
ट्रैक टाइप : Transaction
बुनियादी कॉन्फ़िगरेशन - ऐप्लिकेशन का नाम : {{ app name }}
बुनियादी कॉन्फ़िगरेशन - ऐप्लिकेशन वर्शन : {{ app version }}
बुनियादी कॉन्फ़िगरेशन - स्क्रीन का नाम : {{ screen name }}

3. इवेंट और लेन-देन / आइटम डेटा को Datalayer में पुश करने के लिए कोड अपडेट करें

आखिर में, ट्रांज़ैक्शन इवेंट को डेटा लेयर में भेजने के लिए, अपना कोड अपडेट करें. साथ ही, इससे जुड़े ट्रांज़ैक्शन और आइटम का डेटा भी अपडेट करें. ध्यान दें कि आपको लेन-देन और आइटम डेटा के लिए, काम करने वाले डेटा लेयर वैरिएबल के नाम का इस्तेमाल करना चाहिए:

// 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 that will 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 will not fire tags in that container.
  dataLayer.push(DataLayer.mapOf("event", "transaction",               // Event, Name of Transaction Event.
                                 "transactionId", p.getTransId(),      // Additional fields required by the tag.
                                 "transactionTotal", p.getTotal(),
                                 "transactionAffiliation", "In-app Store",
                                 "transactionTax", p.getTax(),
                                 "transactionShipping", p.getShippingCost(),
                                 "transactionCurrency", "USD",
                                 "transactionProducts", purchasedItems));

  // Since 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));
}

इस्तेमाल किए जा सकने वाले ई-कॉमर्स डेटा लेयर वैरिएबल

UA लेन-देन टैग, इन डेटा लेयर वैरिएबल के साथ काम करते हैं:

लेन-देन के वैरिएबल

वैरिएबल का नाम ब्यौरा Type ज़रूरी है
transactionId यूनीक लेन-देन आइडेंटिफ़ायर स्ट्रिंग हां
transactionAffiliation पार्टनर या स्टोर स्ट्रिंग नहीं
transactionTotal लेन-देन की कुल कीमत स्ट्रिंग नहीं
transactionTax लेन-देन पर लगने वाले टैक्स की रकम स्ट्रिंग नहीं
transactionShipping लेन-देन की शिपिंग के लिए खरीदार से लिया जाने वाला शुल्क स्ट्रिंग नहीं
transactionCurrency लेन-देन की मुद्रा स्ट्रिंग नहीं
transactionProducts लेन-देन में खरीदे गए आइटम की सूची मैप की वह कैटगरी जिसमें आइटम वैरिएबल होते हैं. नहीं

आइटम वैरिएबल

वैरिएबल का नाम ब्यौरा Type ज़रूरी है
name प्रॉडक्ट का नाम स्ट्रिंग हां
sku प्रॉडक्ट SKU स्ट्रिंग नहीं
category प्रॉडक्ट कैटगरी स्ट्रिंग नहीं
price प्रॉडक्ट का मूल्य स्ट्रिंग नहीं
currency price का मुद्रा टाइप स्ट्रिंग नहीं
quantity आइटम की संख्या स्ट्रिंग नहीं

रेफ़रलकर्ता एट्रिब्यूशन इंस्टॉल करें

उपलब्ध होने पर, इंस्टॉल रेफ़रर डेटा सभी Google Analytics हिट या Google Ads रीमार्केटिंग पिक्सल अनुरोध के साथ अपने-आप शामिल हो जाएगा. ऐसा तब होगा, जब यह सेवा और रिसीवर आपकी AndroidManifest.xml फ़ाइल में रजिस्टर किए गए हों:

<!-- Used for install referrer tracking -->
<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>