সর্বোত্তম অনুশীলন

এই নির্দেশিকায় খাবার অর্ডার করার অফারগুলোর প্রয়োজনীয়তা ও উদাহরণ তুলে ধরা হয়েছে।

যোগ্যতা এবং নীতিমালা

এই বিভাগে গুরুত্বপূর্ণ যোগ্যতার মানদণ্ডগুলো তুলে ধরা হয়েছে, যা অফার দেওয়ার সময় পার্টনারদের অবশ্যই মেনে চলতে হবে। স্যান্ডবক্স ফিড টেস্টিংয়ের সময় আপনি যে সব ধরনের অফার চালু করার পরিকল্পনা করছেন, সেগুলো পরীক্ষা করা জরুরি। কোনো অফার যোগ্য কি না, সে বিষয়ে আপনি অনিশ্চিত থাকলে, অনুগ্রহ করে আপনার Google POC-এর সাথে যোগাযোগ করুন।

ব্যক্তিগতকৃত এবং একবার ব্যবহারযোগ্য অফারগুলি বাদ দিন

একটি উচ্চ-মানের এবং সামঞ্জস্যপূর্ণ ব্যবহারকারীর অভিজ্ঞতা নিশ্চিত করার জন্য, পার্টনারদের অবশ্যই এমন কোনো অফার অন্তর্ভুক্ত করা উচিত নয় যা ব্যবহারকারীদের নির্দিষ্ট কোনো অংশের জন্য সীমাবদ্ধ। শুধুমাত্র নির্দিষ্ট ব্যবহারকারীদের জন্য তৈরি ব্যক্তিগতকৃত অফার গ্রহণযোগ্য নয়। প্ল্যাটফর্ম-ব্যাপী অফার যা সকল ব্যবহারকারীর জন্য প্রযোজ্য, যেমন প্রথমবারের ব্যবহারকারী বা কোনো নির্দিষ্ট রেস্তোরাঁয় প্রথমবারের অর্ডার, তা অনুমোদিত হবে যদি অফারটি সকল ব্যবহারকারীর জন্য অফার ল্যান্ডিং পেজে প্রদর্শিত হয়। অফারের শর্তাবলী অবশ্যই অফারের শিরোনামে এবং অফার ইউআরএল ল্যান্ডিং পেজে স্পষ্টভাবে উল্লেখ করতে হবে। আপনার সাইট বা অ্যাপে লগ-আউট বা লগ-ইন থাকা অবস্থায়ও অফারটি সকল ব্যবহারকারীর জন্য অফার ল্যান্ডিং পেজে দৃশ্যমান থাকতে হবে।

কুপন কোড সহ অফার

কিছু অফারের জন্য ব্যবহারকারীকে একটি কুপন কোড প্রবেশ করাতে হয়, যেমন "মোট বিলের উপর ২০% ছাড় পেতে SAVE20 কোডটি প্রয়োগ করুন"। এটি মনে রাখা গুরুত্বপূর্ণ যে গুগল কুপন ডেফিনিশন থেকে কুপন কোড প্রদর্শন করে না। পার্টনাররা ব্যবহারকারীদের দেখানোর জন্য এই তথ্যটি OfferDetails.offer_display_text- এর মধ্যে অন্তর্ভুক্ত করতে পারে। কুপন-ভিত্তিক অফারগুলো সাধারণত দুটি শ্রেণীতে বিভক্ত:

  • যেসব অফারে গুগল থেকে আসা যেকোনো ব্যবহারকারীকে চেকআউটের সময় স্বয়ংক্রিয়ভাবে কুপন দেখানো হয়, সেগুলো অনুমোদিত।
  • যেসব অফারে চেকআউটের সময় ব্যবহারকারীকে কুপন কোড প্রবেশ করতে হয়, কিন্তু অফার ইউআরএল-এর ল্যান্ডিং পেজে কুপন কোডটি কীভাবে প্রয়োগ করতে হবে তার নির্দেশনা দেওয়া থাকে না, অথবা অফার ইউআরএল অনুসরণ করার পর কুপনটি স্বয়ংক্রিয়ভাবে প্রয়োগ হয় না, সেগুলো অনুমোদিত নয়।

অফারের বিষয়বস্তু এবং কাঠামো

এই বিভাগে ফিডে প্রদত্ত অফারগুলির বিষয়বস্তু ও কাঠামোর জন্য প্রয়োজনীয় শর্তাবলী বিস্তারিতভাবে বর্ণনা করা হয়েছে, যার মধ্যে কাঠামোগত মেটাডেটার উদাহরণও অন্তর্ভুক্ত রয়েছে।

অফার প্রদর্শনের পাঠ্য এবং অফারের বিবরণ

OfferDetails.offer_display_text একটি আবশ্যক ফিল্ড যা গুগল সার্চের অফার বিভাগে তাৎক্ষণিক দৃশ্যমানতার জন্য সংক্ষিপ্ত শিরোনাম হিসেবে কাজ করে, যেমন "$10 ছাড়" বা "১৫% সাশ্রয় করুন"।

OfferDetails.offer_specification হলো OfferDetails এর মধ্যে থাকা একটি আবশ্যিক "যেকোনো একটি" ফিল্ড। এর মানে হলো, ডিলটি নির্দিষ্ট করার জন্য নিম্নলিখিত তিনটি ফিল্ডের মধ্যে ঠিক যেকোনো একটি অবশ্যই প্রদান করতে হবে:

  • discount_value
  • discount_percent
  • other_offer_detail_text

OfferDetails.other_offer_detail_text ফিল্ডটি একটি ফ্রি-ফর্ম টেক্সট ফিল্ড, যা offer_display_text পরিপূরক হিসেবে ব্যবহৃত হয় যখন অফারটিকে একটি নির্দিষ্ট ডিসকাউন্ট ভ্যালু বা শতাংশ হিসেবে প্রকাশ করা যায় না। যদি অফারটি সম্পর্কে সমস্ত প্রয়োজনীয় তথ্য জানানোর জন্য offer_display_text যথেষ্ট হয়, তবে other_offer_detail_text ফিল্ডটিতে offer_display_text মতোই একই টেক্সট দিয়ে পূরণ করা উচিত। তবে, জটিল ডিলের ক্ষেত্রে, এই ফিল্ডটিতে পুরস্কারটির একটি নির্দিষ্ট বিবরণ থাকা উচিত।

কাঠামোগত মেটাডেটা ক্ষেত্র

অফারের স্বচ্ছতা বাড়াতে এবং উন্নত র‍্যাঙ্কিং ও ফিল্টারিং সক্ষম করতে, পার্টনারদের অবশ্যই সংশ্লিষ্ট স্ট্রাকচার্ড ফিল্ডগুলিতে অফারের মেটাডেটা প্রদান করতে হবে। শর্তাবলী উল্লেখ করা আবশ্যক। অফার ল্যান্ডিং পেজে ব্যবহারকারীদের দেখানো বিস্তারিত শর্তাবলী দিয়ে terms.terms_and_conditions ফিল্ডটি সেট করার পরামর্শ দেওয়া হচ্ছে।

মোট অর্ডার এবং আইটেম-ভিত্তিক অফার

আইটেমের উপসেটের জন্য নির্দিষ্ট অফারগুলোতে যোগ্য আইটেমগুলো নির্ধারণ করতে অবশ্যই offer_restrictions.inclusions এবং offer_restrictions.exclusions ফিল্ড ব্যবহার করতে হবে। অফারটি যদি কোনো নির্দিষ্ট আইটেমের জন্য হয়, তবে offer_display_text এ আইটেমের নামটি অন্তর্ভুক্ত করতে হবে। offer_display_text এ আইটেমের নাম অন্তর্ভুক্ত থাকলে, offer_restrictions.inclusions সেট করার প্রয়োজন হয় না।

যদি offer_restrictions.inclusions সেট করা না থাকে, অথবা যদি আইটেমের নামটি offer_display_text এ অন্তর্ভুক্ত না থাকে, তাহলে অফারটি মোট অর্ডারের পরিমাণের উপর প্রযোজ্য বলে গণ্য করা হবে।

ডেলিভারি ফি অফার

ডেলিভারি ফি অফারের জন্য অবশ্যই offer_category OFFER_CATEGORY_ADD_ON_FEE_REDUCTION_OFFER ব্যবহার করতে হবে। এর ফলে, অফারটি শুধুমাত্র সেই লোকেশনের অন্য কোনো বেস অফারের সাথে যুক্ত থাকলেই প্রদর্শিত হবে। একটি ডেলিভারি ফি অফার বেস অফার হিসেবে প্রদর্শিত হবে না।

JSON উদাহরণ দিন

ফ্ল্যাট $২০ ছাড়

উদাহরণ: মঙ্গলবারে সর্বনিম্ন $15 কেনাকাটায় মোট অর্ডারের উপর ফ্ল্যাট $20 ছাড়।

{
  "offer_id": "offer-example-1-takeout",
  "offer_source": "OFFER_SOURCE_AGGREGATOR",
  "action_type": "ACTION_TYPE_FOOD_TAKEOUT",
  "offer_modes": ["OFFER_MODE_ONLINE_ORDER"],
  "offer_category": "OFFER_CATEGORY_BASE_OFFER",
  "offer_details": {
    "offer_display_text": "$20 off on Tuesdays",
    "discount_value": {
      "currency_code": "USD",
      "units": 20
    },
    "min_spend_value": {
      "currency_code": "USD",
      "units": 15
    }
  },
  "validity_periods": [
    {
      "valid_period": {
        "valid_from_time": { "seconds": 1768953600 },
        "valid_through_time": { "seconds": 1795219200 }
      },
      "time_of_day": [
        {
          "time_windows": {
            "open_time": { "hours": 9 },
            "close_time": { "hours": 20, "minutes": 59, "seconds": 59 }
          },
          "day_of_week": ["TUESDAY"]
        }
      ]
    }
  ],
  "offer_restrictions": {
    "combinable_with_other_offers": false
  },
  "terms": {
    "terms_and_conditions": "For use only at the participating restaurant location on qualifying delivery or takeout orders with $15 minimum spend. Single use per order. Offer may not be combined with any other offers, discounts, or promotions. Valid only on Tuesdays."
  },
  "entity_ids": ["dining-1"],
  "offer_url": "https://www.example-restaurant.com/offer/base_offer_1"
}

বেরি স্মুদিতে ৫০% ছাড়

উদাহরণ: আইটেম-ভিত্তিক অফারে ৫০% ছাড়।

{
  "offer_id": "offer-example-1-takeout",
  "offer_source": "OFFER_SOURCE_AGGREGATOR",
  "action_type": "ACTION_TYPE_FOOD_TAKEOUT",
  "offer_modes": ["OFFER_MODE_ONLINE_ORDER"],
  "offer_category": "OFFER_CATEGORY_BASE_OFFER",
  "offer_details": {
    "offer_display_text": "50% off on Berry Smoothie",
    "discount_percent": 50.0
  },
  "validity_periods": [
    {
      "valid_period": {
        "valid_from_time": { "seconds": 1768953600 },
        "valid_through_time": { "seconds": 1795219200 }
      }
    }
  ],
  "offer_restrictions": {
    "combinable_with_other_offers": true,
    "inclusions": [
      {"description":"Berry Smoothie"}
    ]
  },
  "terms": {
    "terms_and_conditions": "For use only at the participating restaurant location on qualifying delivery or takeout orders. Single use per order."
  },
  "entity_ids": ["dining-1"],
  "offer_url": "https://www.example-restaurant.com/offer/base_offer_1"
}

একটি কিনলে একটি বিনামূল্যে অফার

উদাহরণ: একটি অ্যাপেটাইজার কিনলে একটি বিনামূল্যে অফার, যা সোমবার থেকে বৃহস্পতিবার পর্যন্ত প্রযোজ্য।

{
  "offer_id": "offer-example-2-delivery",
  "offer_source": "OFFER_SOURCE_AGGREGATOR",
  "action_type": "ACTION_TYPE_FOOD_DELIVERY",
  "offer_modes": ["OFFER_MODE_ONLINE_ORDER"],
  "offer_category": "OFFER_CATEGORY_BASE_OFFER",
  "offer_details": {
    "offer_display_text": "Buy one appetizer, get one free",
    "other_offer_detail_text": "Buy one appetizer, get one free"
  },
  "validity_periods": [
    {
      "valid_period": {
        "valid_from_time": { "seconds": 1768953600 },
        "valid_through_time": { "seconds": 1795219200 }
      },
      "time_of_day": [
        {
          "time_windows": {
            "open_time": { "hours": 10 },
            "close_time": { "hours": 23, "minutes": 59, "seconds": 59 }
          },
          "day_of_week": ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY"]
        }
      ]
    }
  ],
  "offer_restrictions": {
    "combinable_with_other_offers": true,
    "inclusions": [
      {
        "description": "appetizers"
      }
    ]
  },
  "terms": {
    "terms_and_conditions": "For use only at the participating restaurant location on qualifying delivery or takeout orders. Single use per order. Valid on all menu appetizers. Offer may be combined with any other offers, discounts, or promotions. Valid Monday through Thursday."
  },
  "entity_ids": ["dining-1"],
  "offer_url": "https://www.example-restaurant.com/offer/base_offer_4"
}

ফ্রি ডেলিভারি অফার

উদাহরণ: মূল অফারের সাথে অতিরিক্ত সুবিধা হিসেবে বিনামূল্যে ডেলিভারি। এই $0 ডেলিভারি ফি অফারটি সেই অবস্থানের যেকোনো মূল অফারের সাথে প্রদর্শিত হবে।

[
  {
    "offer_id": "offerId1",
    "offer_source": "OFFER_SOURCE_AGGREGATOR",
    "action_type": "ACTION_TYPE_FOOD_DELIVERY",
    "offer_modes": ["OFFER_MODE_ONLINE_ORDER"],
    "offer_category": "OFFER_CATEGORY_BASE_OFFER",
    "offer_details": {
      "offer_display_text": "10% off",
      "discount_percent": 10.0
    },
    "validity_periods": [
      {
        "valid_period": {
          "valid_from_time": { "seconds": 1768953600 },
          "valid_through_time": { "seconds": 1795219200 }
        },
        "time_of_day": [
          {
            "day_of_week": ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY"]
          }
        ]
      }
    ],
    "offer_restrictions": {
      "combinable_with_other_offers": true,
      "combinable_offer_categories": ["OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER"]
    },
    "terms": {
      "terms_and_conditions": "For use only at the participating restaurant location on qualifying delivery or takeout orders. Single use per order. Offer may be combined with any other offers, discounts, or promotions."
    },
    "entity_ids": ["dining-1"],
    "offer_url": "https://www.example-restaurant.com/offer/base_offer_5"
  },
  {
    "offer_id": "offerId2",
    "offer_source": "OFFER_SOURCE_AGGREGATOR",
    "action_type": "ACTION_TYPE_FOOD_DELIVERY",
    "offer_modes": ["OFFER_MODE_ONLINE_ORDER"],
    "offer_category": "OFFER_CATEGORY_ADD_ON_FEE_REDUCTION_OFFER",
    "offer_details": {
      "offer_display_text": "$0 Delivery Fee",
      "other_offer_detail_text": "Free dellivery"
    },
    "validity_periods": [
      {
        "valid_period": {
          "valid_from_time": { "seconds": 1768953600 },
          "valid_through_time": { "seconds": 1795219200 }
        }
      }
    ],
    "offer_restrictions": {
      "combinable_with_other_offers": true
    },
    "terms": {
      "terms_and_conditions": "Delivery is free at the participating restaurant location on qualifying delivery or takeout orders. Single use per order. Offer may be combined with any other offers, discounts, or promotions."
    },
    "entity_ids": ["dining-1"],
    "offer_url": "https://www.example-restaurant.com/offer/addon_offer_1"
  }
]

পরিপূর্ণতা এবং সীমাবদ্ধতা

এই বিভাগে অফার পূরণের স্পেসিফিকেশন সম্পর্কিত প্রয়োজনীয়তা ও সর্বোত্তম অনুশীলন এবং এর সাথে সংশ্লিষ্ট সীমাবদ্ধতাগুলো বিস্তারিতভাবে আলোচনা করা হয়েছে।

পূরণের পদ্ধতি (ডেলিভারি এবং টেকআউট)

যদি একটিমাত্র ডিল ডেলিভারি এবং টেকআউট উভয়ের জন্যই প্রযোজ্য হয়, তবে ফিডে এর দুটি অফার থাকতে হবে। প্রতিটি এন্ট্রির একটি নির্দিষ্ট ActionType থাকতে হবে:

  • ACTION_TYPE_FOOD_DELIVERY
  • ACTION_TYPE_FOOD_TAKEOUT

এটি নিশ্চিত করে যে পার্টনার সাইটে আসা ব্যবহারকারীদের কাছে সঠিক ফুলফিলমেন্ট কনটেক্সট উপস্থাপন করা হয়।

সময়সীমা

আপনার সাইট বা অ্যাপে লগ-আউট বা লগ-ইন থাকা অবস্থায় সকল ব্যবহারকারীর জন্য অফার ল্যান্ডিং পেজে অফারগুলো প্রদর্শিত হবে বলে আশা করা হচ্ছে। যদি অফারটি একটি নির্দিষ্ট সময়কালের জন্য বৈধ থাকে, তবে আপনাকে অবশ্যই বৈধ সময়কাল নির্দিষ্ট করার জন্য validity_periods.valid_period ফিল্ডটি অন্তর্ভুক্ত করতে হবে। এটি অফারটিকে নির্দিষ্ট সময়কালের বাইরে প্রদর্শিত হওয়া থেকে বিরত রাখে। যদি অফারটি দিনের নির্দিষ্ট কিছু ঘণ্টায় অফার ইউআরএল-এ প্রদর্শিত হয়, তবে টাইম উইন্ডোটিও অবশ্যই সেট করতে হবে। উদাহরণস্বরূপ, যদি রেস্তোরাঁ বন্ধ থাকার সময় ল্যান্ডিং পেজটি অফার প্রদর্শন না করে, তবে আপনাকে অবশ্যই TimeOfDayWindow- এর খোলা এবং বন্ধের সময় অন্তর্ভুক্ত করতে হবে।

মধ্যরাত অতিক্রমকারী সময়সীমা পরিচালনা করুন

যে অফারগুলো মধ্যরাত পর্যন্ত চলে (যেমন, মঙ্গলবার রাত ১০:০০টা থেকে বুধবার ভোর ২:০০টা পর্যন্ত বৈধ), সেগুলোকে ইনজেশন পাইপলাইন দ্বারা সঠিকভাবে প্রক্রিয়াজাত করার জন্য অবশ্যই বিভক্ত করতে হবে। আবশ্যকতা: উইন্ডোটিকে দুটি স্বতন্ত্র অংশে ভাগ করতে TimeOfDayWindow ফিল্ডটি ব্যবহার করুন:

  • পর্ব ১: শুরুর দিনের (যেমন, মঙ্গলবার) রাত ১০:০০টা থেকে রাত ১১:৫৯:৫৯টা পর্যন্ত।
  • পর্ব ২: পরের দিনের (যেমন, বুধবার) রাত ১২:০০টা থেকে রাত ২:০০টা পর্যন্ত।

এর ফলে পুরো সময়কাল জুড়ে অফারটির বৈধতা সঠিকভাবে প্রতিফলিত হয়।

ফি-এর বিবরণ

OfferDetails.additional_fees ফিল্ড ব্যবহার করে ডেলিভারি এবং টেকআউটের ফি নির্দিষ্ট করা যেতে পারে। OfferDetails.convenience_fee ব্যবহার করে কনভেনিয়েন্স ফি নির্দিষ্ট করা উচিত। পরিবর্তনশীল ফি-এর জন্য একটি ফি রেঞ্জ ভ্যালু ব্যবহার করুন, উদাহরণস্বরূপ, যদি ব্যবহারকারীর অবস্থানের উপর ভিত্তি করে ডেলিভারি ফি পরিবর্তিত হয়।