উন্নত ইকমার্স ট্র্যাকিং

এই দস্তাবেজটি 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 স্ট্যান্ডার্ডে নির্দিষ্ট করতে হবে। সমর্থিত রূপান্তর মুদ্রার একটি সম্পূর্ণ তালিকার জন্য মুদ্রা কোড রেফারেন্স নথি পড়ুন।

কারেন্সিকোড ট্র্যাকার সম্পত্তি ব্যবহার করে স্থানীয় মুদ্রা নির্দিষ্ট করা হয়। উদাহরণস্বরূপ, এই ট্র্যাকার মুদ্রার মান ইউরো হিসাবে পাঠাবে:

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 ক্ষেত্র

ধাপটি পরিমাপ করার সময় প্রদত্ত চেকআউট ধাপ সম্পর্কে আপনার কাছে অতিরিক্ত তথ্য থাকলে, আপনি এই তথ্য ক্যাপচার করার জন্য একটি checkout অ্যাকশন সহ option ক্ষেত্র সেট করতে পারেন। উদাহরণস্বরূপ, ব্যবহারকারীর জন্য ডিফল্ট অর্থপ্রদানের ধরন (যেমন 'ভিসা')।

একটি চেকআউট ধাপ পরিমাপ

একটি চেকআউট ধাপ পরিমাপ করতে, পণ্যের বিশদ বিবরণ যোগ করতে একটি 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 ওয়েব ইন্টারফেসের অ্যাডমিন বিভাগে ইকমার্স সেটিংস। ইকমার্স সক্ষম করা হয়েছে এবং 4টি চেকআউট-ফানেল ধাপ লেবেল যুক্ত করা হয়েছে: 1. পর্যালোচনা কার্ট, 2. অর্থপ্রদানের তথ্য সংগ্রহ করুন, 3. ক্রয়ের বিবরণ নিশ্চিত করুন, 4. রসিদ
চিত্র 1 : ইকমার্স সেটআপ - চেকআউট ফানেল

অভ্যন্তরীণ প্রচার পরিমাপ

বর্ধিত ইকমার্স অভ্যন্তরীণ প্রচারের ইমপ্রেশন এবং ক্লিক পরিমাপ করার জন্য সমর্থন অন্তর্ভুক্ত করে, যেমন একটি বিক্রয় প্রচারের জন্য প্রদর্শিত ব্যানার।

প্রচার ইমপ্রেশন

অভ্যন্তরীণ প্রচার ইম্প্রেশনগুলি সাধারণত প্রচারের বিশদ বিবরণ নির্দিষ্ট করার জন্য একটি 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 পদ্ধতি ব্যবহার করে এবং যথাক্রমে একটি প্রচার ক্লিক বা ভিউ নির্দেশ করার জন্য Promotion.ACTION_CLICK বা Promotion.ACTION_VIEW তে সেট setPromotionAction পদ্ধতি ব্যবহার করে পরিমাপ করা যেতে পারে। উদাহরণ স্বরূপ:

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