כרטיסי מתנה (נקראים גם שוברים)

במדריך הזה מפורטות הדרישות, ההמלצות לבניית מודל נתונים והשיטות המומלצות להטמעה של כרטיסי מתנה (שנקראים גם שוברים) בפיד המבצעים. ההמלצות האלה הן תוספת לתיעוד הרגיל של Actions Center, והן מתייחסות להיבטים ספציפיים של שילוב שקשורים לכרטיסי מתנה.

מצב מבצע וסיווג

כששולחים נתוני מלאי של כרטיסי מתנה, חשוב לוודא שמאפייני הליבה הבאים מוגדרים בצורה נכונה:

  • Offer Mode: offer_modes תמיד צריך להיות מוגדר כמערך יחיד שמכיל "OFFER_MODE_GIFT_CARD_PURCHASE":

    "offer_modes": ["OFFER_MODE_GIFT_CARD_PURCHASE"]
    
  • שוברים עם ערך מאוחסן לעומת הנחות מיידיות ללקוחות מזדמנים:

    • gift_card_info שמור אך ורק לשוברי ערך מאוחסן וכרטיסי מתנה שנרכשו מראש (OFFER_MODE_GIFT_CARD_PURCHASE).
    • אם לקוח משלם ישירות בקופה בחנות הפיזית במקום עבור הנחה מיידית בלי לרכוש קוד שובר למימוש מאוחר יותר, צריך להגדיר את המבצע כהנחה רגילה ללקוחות שנכנסים לחנות (OFFER_MODE_WALK_IN) ולהשמיט את ההודעה gift_card_info לחלוטין.
  • מודל של ערך נקוב: הערך הנקוב של כרטיס המתנה צריך לייצג את השווי של השובר (הסכום שאפשר לממש איתו), ולא את הסכום שהמשתמש משלם (המשתמש משלם את המחיר המוזל).

  • איחוד של כמה ערכים של הנחה: אם יש כמה שוברי הנחה עם אותו אחוז הנחה ותנאים, אבל עם ערכים שונים של הנחה, צריך לקבץ אותם בערך אחד של הנחה. מכיוון ש-denomination_type פועל כ-oneof, השותפים צריכים לבחור בין הגדרת fixed_denominations לבין custom_range:

    • סכומים קבועים: משתמשים באפשרות הזו כשמציעים סכומים קבועים של כרטיסי מתנה (לדוגמה, 500₹,‏ 1,000₹ ו-2,000₹, כולם עם הנחה קבועה של 10%). חשוב לוודא שכל סכומי הכסף הקבועים שאינם זמינים או שנגמרו במלאי בדף הנחיתה מוחרגים באופן מפורש משליחת הפיד.
    • טווח מותאם אישית: משתמשים באפשרות הזו רק אם המשתמשים יכולים להזין באופן חופשי כל ערך נומינלי שמוגדר בטווח מסוים בדף הרכישה (למשל, כל ערך בין 100 ל-5,000 רופי עם הנחה של 5%). אם בדף הנחיתה של היעד מוצעים סכומים נפרדים ומוגדרים מראש, צריך להגדיר את המלאי באופן מדויק לפי fixed_denominations. בנוסף, אם גם סכומים קבועים וגם סכומים בהתאמה אישית זמינים למוצר, השותפים צריכים להגדיר את הטווח הגמיש של הסכומים בהתאמה אישית.

טיפול ברשתות עם כמה מיקומים

אם מדובר בשוברי מתנה שניתן לממש ברשתות גדולות של חנויות קמעונאיות או מסעדות, והתנאים זהים בכמה נקודות עניין, אל תספקו אובייקט Offer נפרד לכל מיקום חנות. במקום זאת, כדאי להשתמש בגישה של פיד מצטבר, כלומר לספק אובייקט Offer יחיד שמכיל רשימה של כל מזהי הישות של החנויות המשתתפות (entity_ids).

מיתוג הפורטל (brand_id)

חלק מהשוברים מוצעים דרך פורטלים ספציפיים של בנקים או מועדוני לקוחות (לדוגמה, מועדוני לקוחות של בנקים או פלטפורמות של שותפים) ולא דרך האתר הראשי של המוכר. כדי להבטיח מיתוג מדויק של הפורטלים האלה, השותפים צריכים למלא את השדה brand_id באובייקטים של מבצעים ברמה העליונה.

אמנם אם לא מציינים את brand_id, ברירת המחדל היא המותג הראשי של החשבון (ולכן לא צריך לציין את brand_id כשמשתמשים במותג שמוגדר כברירת מחדל בחשבון), אבל אם מציינים את brand_id באופן מפורש, המערכת משייכת את מלאי שטחי הפרסום לפורטל המתאים עם המיתוג, וכך מוודאת שיוצגו למשתמשים הסמלים והשמות הנכונים שספציפיים לשותף. הוראות נוספות להגדרת מותגים זמינות במאמר בנושא הגדרת מותגים.

מבנה התוקף (ValidityScope)

לכרטיסי מתנה יש מבנה תוקף ייחודי שמבחין בין מסגרת הזמן לרכישת המבצע לבין משך הזמן למימוש הכרטיס. השותפים צריכים תמיד להשתמש בערכי ה-enum הרלוונטיים:ValidityScope

  • VALIDITY_SCOPE_CLAIM: הגדרת מסגרת הזמן שבה אפשר לרכוש את כרטיס המתנה בפלטפורמת השותף. הערך הזה תמיד צריך להיות קיים. כששולחים פידים, צריך למלא את תקופת התוקף של התביעה החל מתאריך השליחה המדויק של הפיד. בנוסף, אם בדף הנחיתה מפורסם תאריך סיום של קמפיין, אל תשאירו את תקופות התביעה ללא הגבלת זמן. תאריך הסיום של הקמפיין צריך להיות זהה לתאריך התפוגה שפורסם בדף הנחיתה.valid_through_time
  • VALIDITY_SCOPE_REDEEM: מגדיר את משך המימוש אחרי הרכישה (מסגרת הזמן שבה המשתמשים יכולים לממש את השובר בחנות אחרי הרכישה, שאפשר לציין כמשך זמן או כמסגרת זמן).

מיפוי סוגי פעולות

השותפים בדרך כלל מסווגים שוברים באמצעות מבנים כמו 'מימוש אונליין/אופליין', 'אונליין/בסניף' או 'בסניף'. בפידים, צריך למפות את הערך הזה ל-enum‏ ActionType כדי להגדיר בצורה מדויקת איך המוצר נצרך:

  • תחום המסעדנות והמזון: מיפוי של כרטיסי מתנה לשימוש במסעדה אל ACTION_TYPE_DINING. מיפוי כרטיסי מתנה מסוג 'משלוח' אל ACTION_TYPE_FOOD_DELIVERY. מיפוי של כרטיסי מתנה של Takeout אל ACTION_TYPE_FOOD_TAKEOUT.
  • שופינג – קמעונאות: מיפוי של כרטיסי מתנה לשימוש בחנות אל ACTION_TYPE_SHOPPING_IN_STORE. (הערה: אין תמיכה בשוברי קנייה שניתן לממש רק באינטרנט).
  • מיפוי של ערוץ יחיד: כל offer_id יכול להיות שייך רק ל-ActionType אחד. אם פריט במלאי תומך בכמה ערוצי אספקה (למשל, משלוח או איסוף של אוכל), צריך ליצור אובייקטים נפרדים של Offer עם מזהים ייחודיים לכל שיטת אספקה.

הנחות מדורגות ומבצעים על תוספים

  • הנחות מדורגות על אמצעי תשלום שונים: אם מוצעים אחוזי הנחה שונים על סמך אמצעי התשלום הספציפי שבו נעשה שימוש (למשל, הנחה גבוהה יותר על ארנק אלקטרוני לעומת כרטיסי אשראי), צריך להגדיר אותם כאובייקטים נפרדים של Offer. שותפים צריכים לספק כיסוי מלא של מבצעים בכל אמצעי התשלום הנתמכים (למשל, ארנקים דיגיטליים, כרטיסי אשראי, כרטיסי חיוב מיידי, בנקאות באינטרנט) כדי להבטיח חוויית חיסכון מהימנה. אם המבצע חל על כל אמצעי התשלום שמתקבלים בפלטפורמה, לא צריך להגדיר את השדה של אמצעי התשלום.
  • מבנה של מבצעים על מוצרים נלווים: כדי להציג הטבות מצטברות, כמו נקודות בתוכנית התגמולים ספציפיות לבנק או החזר כספי על קנייה (cashback) נוסף שרלוונטי לרכישת כרטיס מתנה, צריך לשלוח אותן כמבצעים נפרדים לחלוטין על מוצרים נלווים באמצעות הערך המתאים של טיפוסים בני מנייה (enum)‏ OfferCategoryOFFER_CATEGORY_ADD_ON_PAYMENT_OFFER. מתארים את התגמול בתוך OfferDetails.other_offer_details_text (למשל, ‎"Up to 5X Reward Points"‎), ומקשרים אותו למבצע הבסיסי על כרטיס המתנה על ידי מילוי OfferRestrictions.combinable_offer_ids עם offer_id של כרטיס המתנה הבסיסי.

תנאים ותנאים מיוחדים

השותפים צריכים להסתמך על terms.terms_and_conditions כדי לספק את התנאים וההגבלות המלאים והמחייבים של כרטיס המתנה או השובר. מאחדים את כל ההוראות למשתמשים וההנחיות לשימוש בשדה הזה.

אם יש הגבלות קריטיות שדורשות הצגה בולטת בממשק המשתמש (כמו תוקף של יתרה לשימוש חד-פעמי, אי-אפשרות לקבל החזר כספי או מגבלות על שילוב של עסקאות כמו "אפשר לשלב עד 2 שוברים בכל חשבון"), צריך להדגיש אותן בoffer_restrictions.special_conditions.

המלצות לשם המבצע

אורך שם המבצע צריך להיות עד 40 תווים. צריך להסיר את שמות המותגים של המוכרים מ-offer_display_text, כי המבצעים מוצגים ישירות בדף המידע הייעודי של המוכר. מומלץ להשתמש בפורמטים הבאים של שמות:

תרחיש שימוש שם מומלץ
הנחה קבועה על שוברים X% off on Gift Cards
הנחה משתנה שמבוססת על אמצעי התשלום X% off on Gift Cards using {e-wallet}
הנחות משתנות על סכומים שונים X% off on Gift Cards (שליחת הנחות שונות כמבצעים נפרדים)
כרטיסי מתנה B2B2C X% off on Gift Cards (המיתוג מוצג באמצעות תמונה ממוזערת עם המאפיין brand_id)
מבצעים על תוספים Flat/Up to 5X reward points/ <Platform> coins

הדרישה בנוגע לדף הנחיתה

כל offer_url שמפורסם צריך להחזיר HTTP 200 OK ישירות, ללא הפניות אוטומטיות ביניים, ולהוביל לדף יעד פעיל שבו מוצג המבצע.

הפיד לא יכול לכלול שוברי מתנה שנמכרו או שאינם זמינים. צריך לשמור על סנכרון מלאי מדויק בין שדות המטבע בפיד לבין אפשרויות הרכישה בזמן אמת בדף הנחיתה של המוצר.

בדף הנחיתה של היעד צריך לציין בבירור שהמבצע חל ספציפית על כרטיסי מתנה או שוברי מתנה.

לדוגמה, אם בדף נחיתה של שותף מוצגים רק קריאות כלליות לפעולה שקשורות לתשלום, כמו 'תשלום החשבון', בלי לציין מראש באופן ברור שעם השלמת העסקה מונפק שובר מתנה עם ערך מאוחסן, משתמשים שמופנים מ-Google ומצפים לקנות כרטיס מתנה עלולים להתבלבל או לנטוש את העסקה. גם אם הודעה על שובר מופיעה בשלב מאוחר יותר בתהליך התשלום, חובה להציג את המידע בצורה ברורה בדף הנחיתה הראשוני.

מבצעים עם קודי שוברים

במבצעים מסוימים המשתמשים נדרשים להזין קוד שובר, למשל "מזינים את הקוד SAVE20 כדי לקבל 20% הנחה על סך החשבון". חשוב לציין ש-Google לא מציגה קודי שוברים מתוך הגדרת השובר. השותפים יכולים לכלול את המידע הזה בפרמטר OfferDetails.offer_display_text כדי להציג אותו למשתמשים. בדרך כלל יש שני סוגים של מבצעים שמבוססים על שוברים:

  • מבצעים שבהם השובר מוצג אוטומטית בקופה לכל משתמש שמגיע מ-Google. הן מותרות.
  • אסור לפרסם מבצעים שבהם המשתמש צריך להזין את קוד השובר בקופה, אבל לא מספקים הוראות להזנת קוד השובר בדף הנחיתה של כתובת ה-URL של המבצע, או שלא מזינים את השובר באופן אוטומטי כשלוחצים על כתובת ה-URL של המבצע.

דוגמה לקובץ JSON של כרטיס מתנה

{
  "data": [
    {
      "offer_id": "example-dining-gift-card-10off",
      "entity_ids": [
        "dining-1",
        "dining-2"
      ],
      "offer_modes": [
        "OFFER_MODE_GIFT_CARD_PURCHASE"
      ],
      "action_type": "ACTION_TYPE_DINING",
      "offer_source": "OFFER_SOURCE_AGGREGATOR",
      "offer_category": "OFFER_CATEGORY_BASE_OFFER",
      "offer_details": {
        "offer_display_text": "10% off on Gift Cards",
        "discount_percent": 10.0,
        "gift_card_info": {
          "fixed_denominations": {
            "amounts": [
              {
                "units": 500,
                "currency_code": "INR"
              },
              {
                "units": 1000,
                "currency_code": "INR"
              },
              {
                "units": 2000,
                "currency_code": "INR"
              }
            ]
          }
        }
      },
      "offer_restrictions": {
        "combinable_with_other_offers": false,
        "special_conditions": [
          "Single-use balance expiration applies",
          "Maximum 2 gift card vouchers can be combined per bill",
          "No cash refund will be provided against this voucher"
        ]
      },
      "terms": {
        "restricted_to_certain_users": false,
        "terms_and_conditions": "1. Redeemable exclusively at participating dining outlets.\n2. Single-use balance expiration applies.\n3. Maximum 2 gift card vouchers can be combined per bill.\n4. No cash refund will be provided against this voucher."
      },
      "validity_periods": [
        {
          "valid_period": {
            "valid_from_time": {
              "seconds": "1774934350"
            },
            "valid_through_time": {
              "seconds": "1806470350"
            }
          },
          "validity_scope": "VALIDITY_SCOPE_CLAIM"
        },
        {
          "validity_duration_in_days": 365,
          "validity_scope": "VALIDITY_SCOPE_REDEEM"
        }
      ],
      "offer_url": "https://www.example-portal.com/dining-gift-cards/buy"
    }
  ]
}