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

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

खास जानकारी

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

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

अपने ऐप्लिकेशन में बेहतर ई-कॉमर्स ट्रैकिंग लागू करने से पहले, आपको अपने ऐप्लिकेशन में बेहतर ई-कॉमर्स लाइब्रेरी जोड़नी होगी.

ऐप्लिकेशन को बेहतर ई-कॉमर्स का इस्तेमाल करने के लिए कॉन्फ़िगर करने के बाद, ये काम किए जा सकते हैं:

ई-कॉमर्स गतिविधियों को मेज़र करना

आम तौर पर, बेहतर ई-कॉमर्स लागू करने पर, प्रॉडक्ट इंप्रेशन और इनमें से किसी भी कार्रवाई को मेज़र किया जाएगा:

  • कोई प्रॉडक्ट चुनना.
  • प्रॉडक्ट के बारे में जानकारी देखना.
  • इंप्रेशन और इंटरनल प्रमोशन चुनना.
  • शॉपिंग कार्ट में किसी प्रॉडक्ट को जोड़ना / हटाना.
  • किसी प्रॉडक्ट के लिए चेकआउट की प्रोसेस शुरू करना.
  • खरीदारी और रिफ़ंड.

इंप्रेशन का आकलन करना

किसी प्रॉडक्ट इंप्रेशन को मापने के लिए, प्रॉडक्ट और इंप्रेशन वैल्यू सेट करें और उसे हिट के साथ भेजें:

id tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"Black"];
[product setCustomDimension:1 value:@"Member"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createScreenView];

// Sets the product impression for the next available slot, starting with 1.
[builder addProductImpression:product
               impressionList:@"Search Results"
             impressionSource:@"From Search"];
[tracker set:kGAIScreenName value:@"My Impression Screen"];
[tracker send:[builder build]];

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

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

कार्रवाइयों को मापने के लिए, प्रॉडक्ट की वैल्यू सेट करें और फिर प्रॉडक्ट ऐक्शन वैल्यू को सेट करके, की जाने वाली कार्रवाई तय करें.

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

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"Black"];
[product setCustomDimension:1 value:@"Member"];

GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPAClick];
[action setProductActionList:@"Search Results"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createScreenView];
[builder setProductAction:action];

// Sets the product for the next available slot, starting with 1
[builder addProduct:product];
[tracker set:kGAIScreenName value:@"My Impression Screen"];
[tracker send:[builder build]];

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

इंप्रेशन और कार्रवाइयों को मिलाना

ऐसे मामलों में जहां आपको प्रॉडक्ट इंप्रेशन और कार्रवाई, दोनों मिले हैं, वहीं एक हिट में इसे एक साथ मिलाया जा सकता है और मेज़र किया जा सकता है.

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

// The product from the related products section.
id tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12346"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"White"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createScreenView];

// Sets the product impression for the next available slot, starting with 1.
[builder addProductImpression:product
               impressionList:@"Related Products"
             impressionSource:@"From Related"];

// The product being viewed.
product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"Black"];

GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPADetail];
[builder setProductAction:action];
// Sets the product for the next available slot, starting with 1.
[builder addProduct:product];
[tracker set:kGAIScreenName value:@"Related Products Screen"];
[tracker send:[builder build]];

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

खरीदारी की कार्रवाई तय करने के लिए, प्रॉडक्ट वैल्यू सेट करके और फिर प्रॉडक्ट ऐक्शन वैल्यू सेट करके लेन-देन का आकलन करें. लेन-देन के लेवल की जानकारी, जैसे कि कुल रेवेन्यू, टैक्स, और शिपिंग की जानकारी, प्रॉडक्ट की कार्रवाई की वैल्यू के साथ सेट की जाती है.

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"Black"];
[product setPrice:@29.20];
[product setCouponCode:@"APPARELSALE"];
[product setQuantity:@1];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Purchase"
                                                                        label:nil
                                                                        value:nil];
GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPAPurchase];
[action setTransactionId:@"T12345"];
[action setAffiliation:@"Google Store - Online"];
[action setRevenue:@37.39];
[action setTax:@2.85];
[action setShipping:@5.34];
[action setCouponCode:@"SUMMER2013"];
[builder setProductAction:action];

// Sets the product for the next available slot, starting with 1
[builder addProduct:product];
[tracker send:[builder build]];

मुद्रा तय करना

डिफ़ॉल्ट रूप से, Google Analytics मैनेजमेंट वेब इंटरफ़ेस से सभी लेन-देन और आइटम के लिए एक सामान्य, ग्लोबल, और मुद्रा कॉन्फ़िगर की जा सकती है.

स्थानीय मुद्रा, ISO 4217 स्टैंडर्ड के मुताबिक होनी चाहिए. इस्तेमाल की जा सकने वाली कन्वर्ज़न मुद्राओं की पूरी सूची देखने के लिए, मुद्रा कोड का रेफ़रंस दस्तावेज़ पढ़ें.

स्थानीय मुद्राओं के बारे में, ट्रैकर पर मुद्रा कोड की वैल्यू सेट की जाती है. उदाहरण के लिए, यह ट्रैकर मुद्रा मान को यूरो के रूप में भेजेगा:

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTracker"];
[tracker set:kGAIScreenName value:@"transaction"];
[tracker set:kGAICurrencyCode value:@"EUR"]; // Set tracker currency to Euros.
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createScreenView];
[tracker send:[builder build]];

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

पूरे लेन-देन का रिफ़ंड करने के लिए, प्रॉडक्ट कार्रवाई की वैल्यू सेट करें. इसके लिए, ट्रांज़ैक्शन आईडी और रिफ़ंड कार्रवाई का टाइप बताएं:

// Refund an entire transaction.
id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Refund"
                                                                        label:nil
                                                                        value:nil];
GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPARefund];
[action setTransactionId:@"T12345"];
[builder setProductAction:action];
[tracker send:[builder build]];

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

कुछ हिस्से के रिफ़ंड को मेज़र करने के लिए, प्रॉडक्ट ऐक्शन वैल्यू सेट करें. इसके लिए, ट्रांज़ैक्शन आईडी, प्रॉडक्ट आईडी, और रिफ़ंड किए जाने वाले प्रॉडक्ट की संख्या डालें:

// Refund a single product.
id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Refund"
                                                                        label:nil
                                                                        value:nil];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"]; // Product ID is required for partial refund.
[product setQuantity:@1]; // Quanity is required for partial refund.
[builder addProduct:product];

GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPARefund];
[action setTransactionId:@"T12345"]; // Transaction ID is required for partial refund.
[builder setProductAction:action];
[tracker send:[builder build]];

रिफ़ंड के लिए, नॉन-इंटरैक्शन इवेंट का इस्तेमाल करना

अगर आपको किसी इवेंट का इस्तेमाल करके रिफ़ंड डेटा भेजना है और वह इवेंट, आम तौर पर मेज़र किए गए उपयोगकर्ता के व्यवहार (यानी कि उपयोगकर्ता की ओर से शुरू नहीं किया गया) का हिस्सा नहीं है, तो हमारा सुझाव है कि आप एक नॉन-इंटरैक्शन इवेंट भेजें. ऐसा करने से कुछ मेट्रिक पर इवेंट का असर नहीं पड़ेगा. उदाहरण के लिए:

// Refund an entire transaction.
id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Refund"
                                                                        label:nil
                                                                        value:nil];

[builder set:@"1" forKey:kGAINonInteraction];

GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPARefund];
[action setTransactionId:@"T12345"];

[builder setProductAction:action];
[tracker send:[builder build]];

चेकआउट प्रोसेस को मेज़र करना

चेकआउट की प्रोसेस के हर चरण को मेज़र करने के लिए:

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

1. चेकआउट के चरणों को मेज़र करना

अपनी चेकआउट प्रोसेस के हर चरण के लिए, आपको उससे जुड़ा ट्रैकिंग कोड लागू करना होगा, ताकि Google Analytics को डेटा भेजा जा सके.

Step फ़ील्ड

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

Option फ़ील्ड

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

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

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

इस उदाहरण में, एक प्रॉडक्ट के साथ चेकआउट प्रोसेस के पहले चरण को मेज़र करने का तरीका बताया गया है. साथ ही, पेमेंट टाइप के बारे में कुछ और जानकारी भी दी गई है:

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"Black"];
[product setPrice:@29.20];
[product setCouponCode:@"APPARELSALE"];
[product setQuantity:@1];

GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Checkout"
                                                                        label:nil
                                                                        value:nil];

// Add the step number and additional info about the checkout to the action.
GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPACheckout];
[action setCheckoutStep:@1];
[action setCheckoutOption:@"Visa"];

[builder addProduct:product];
[builder setProductAction:action];
[tracker send:[builder build]];

2. चेकआउट विकल्पों का आकलन करना

चेकआउट विकल्पों की मदद से, चेकआउट की स्थिति के बारे में ज़्यादा जानकारी की जा सकती है. यह उन मामलों में मददगार होता है जब आपने चेकआउट के चरण को मेज़र किया हो लेकिन उपयोगकर्ता के चुने गए विकल्प को सेट करने के बाद, उसी चेकआउट चरण के बारे में ज़्यादा जानकारी उपलब्ध होती है. उदाहरण के लिए, उपयोगकर्ता शिपिंग का तरीका चुनता है.

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

चेकआउट प्रोसेस के अगले चरण पर जाने के लिए, उपयोगकर्ता की ओर से कार्रवाई किए जाने के बाद, शायद आप इस कार्रवाई को मेज़र करना चाहें. उदाहरण के लिए:

// (On "Next" button click.)
id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"CheckoutOption"
                                                                        label:nil
                                                                        value:nil];

GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPACheckoutOption];
[action setCheckoutStep:@1];
[action setCheckoutOption:@"Fedex"];

[builder setProductAction:action];
[tracker send:[builder build]];
// Advance to next page.

3. चेकआउट फ़नल कॉन्फ़िगरेशन

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

Google Analytics वेब इंटरफ़ेस के एडमिन सेक्शन में ई-कॉमर्स सेटिंग. ई-कॉमर्स चालू है और चेकआउट-फ़नल के चरण के चार लेबल
     जोड़े गए हैं: 1. समीक्षा कार्ट, 2. पेमेंट की जानकारी इकट्ठा करना, 3. खरीदारी की पुष्टि करने से जुड़ी जानकारी, 4. रसीद
पहली इमेज: ई-कॉमर्स सेटअप - चेकआउट फ़नल

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

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

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

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

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommercePromotion *promotion = [[GAIEcommercePromotion alloc] init];
[promotion setId:@"PROMO_1234"];
[promotion setName:@"Summer Sale"];
[promotion setCreative:@"summer_banner2"];
[promotion setPosition:@"banner_slot1"];

GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Promotion"
                                                                        label:nil
                                                                        value:nil];

[builder addPromotion:promotion];
[tracker send:[builder build]];

प्रचार क्लिक

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

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommercePromotion *promotion = [[GAIEcommercePromotion alloc] init];
[promotion setId:@"PROMO_1234"];
[promotion setName:@"Summer Sale"];
[promotion setCreative:@"summer_banner2"];
[promotion setPosition:@"banner_slot1"];

GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Internal Promotions"
                                                                       action:@"click"
                                                                        label:@"Summer Sale"
                                                                        value:nil];

[builder set:kGAIPromotionClick forKey:kGAIPromotionAction];
[builder addPromotion:promotion];
[tracker send:[builder build]];