बेहतर ई-कॉमर्स ट्रैकिंग

इस दस्तावेज़ में, Android के लिए Google Analytics SDK v4 की मदद से, इन-ऐप्लिकेशन ई-कॉमर्स से जुड़ी कार्रवाइयों और इंप्रेशन को मेज़र करने के तरीके की खास जानकारी दी गई है.

खास जानकारी

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

लागू करने का तरीका

बेहतर ई-कॉमर्स मेज़रमेंट के लिए, आपको 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 तरीके के बारे में ज़्यादा जानने के लिए, बेहतर कॉन्फ़िगरेशन देखें.

कार्रवाइयों को मापना

कार्रवाइयों को मेज़र करने के लिए, Product ऑब्जेक्ट के साथ addProduct तरीके का इस्तेमाल किया जाता है. साथ ही, की जाने वाली कार्रवाई के बारे में बताने के लिए, ProductAction ऑब्जेक्ट वाले setProductAction तरीके का इस्तेमाल किया जाता है.

उदाहरण के लिए, नीचे दिया गया कोड, खोज के नतीजों की सूची में दिखाए जाने वाले चुनिंदा प्रॉडक्ट का आकलन करता है:

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());

लेन-देन को मापना

प्रॉडक्ट की जानकारी जोड़ने के लिए, Product ऑब्जेक्ट के साथ addProduct तरीके का इस्तेमाल करके लेन-देन मेज़र करें. साथ ही, खरीदारी की जानकारी देने के लिए, ProductAction ऑब्जेक्ट वाले setProductAction तरीके का इस्तेमाल करें. लेन-देन के लेवल की जानकारी, जैसे कि कुल रेवेन्यू, टैक्स, और शिपिंग की जानकारी, 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());

रिफ़ंड का आकलन करना

पूरे लेन-देन का रिफ़ंड करने के लिए, ProductAction ऑब्जेक्ट के साथ setProductAction तरीके का इस्तेमाल करें. इससे लेन-देन आईडी और रिफ़ंड की कार्रवाई का टाइप बताने में मदद मिलेगी:

// 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());

अगर कोई मिलता-जुलता लेन-देन नहीं मिलता है, तो रिफ़ंड प्रोसेस नहीं किया जाएगा.

कुछ हिस्से के रिफ़ंड को मेज़र करने के लिए, ProductAction ऑब्जेक्ट के साथ setProductAction तरीके का इस्तेमाल करें. इससे लेन-देन आईडी, प्रॉडक्ट आईडी, और रिफ़ंड किए जाने वाले प्रॉडक्ट की संख्या की जानकारी दें:

// 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 कार्रवाई के साथ सेट करें. उदाहरण के लिए, उपयोगकर्ता के लिए पेमेंट का डिफ़ॉल्ट तरीका (उदाहरण के लिए, 'Visa').

चेकआउट चरण का आकलन करना

चेकआउट के चरण को मेज़र करने के लिए, Product ऑब्जेक्ट के साथ addProduct तरीके का इस्तेमाल करें और प्रॉडक्ट की जानकारी जोड़ें. साथ ही, चेकआउट ऐक्शन दिखाने के लिए, ProductAction ऑब्जेक्ट वाले setProductAction तरीके का इस्तेमाल करें. अगर लागू हो, तो चेकआउट के दौरान 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 वेब इंटरफ़ेस के एडमिन सेक्शन में ई-कॉमर्स सेटिंग. ई-कॉमर्स चालू है और चेकआउट-फ़नल के चरण के चार लेबल
     जोड़े गए हैं: 1. समीक्षा कार्ट, 2. पेमेंट की जानकारी इकट्ठा करना, 3. खरीदारी की पुष्टि करने से जुड़ी जानकारी, 4. रसीद
पहली इमेज: ई-कॉमर्स सेटअप - चेकआउट फ़नल

आंतरिक प्रचार का आकलन करना

बेहतर ई-कॉमर्स में, इंटरनल प्रमोशन के इंप्रेशन और क्लिक को मेज़र करने की सुविधा शामिल है. जैसे, बिक्री को प्रमोट करने के लिए दिखाए जाने वाले बैनर.

प्रमोशन से मिले इंप्रेशन

आम तौर पर, इंटरनल प्रमोशन इंप्रेशन को शुरुआती स्क्रीन व्यू के साथ मेज़र किया जाता है. इसके लिए, प्रमोशन की जानकारी देने के लिए, Promotion ऑब्जेक्ट के साथ addPromotion तरीके का इस्तेमाल किया जाता है. उदाहरण के लिए:

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());

प्रचार क्लिक

इंंटरनल प्रमोशन पर होने वाले क्लिक को मेज़र करने के लिए, Promotion ऑब्जेक्ट के साथ addPromotion तरीके का इस्तेमाल किया जा सकता है. साथ ही, प्रमोशन पर होने वाले क्लिक या व्यू का पता लगाने के लिए, 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());