Web Purchase Limits

Web Purchase Limits allow developers to configure purchase limits on offers without making any changes to their inventory endpoint.

🚨

Warning! This feature is only intended to be used by offers available on web only. We do not track purchases made outside of Neon, and having an offer with Web Purchase Limits and included in the developer’s inventory endpoint can have unexpected behavior.

Configuration

Web Purchase Limits are configured by setting a value for the limit field on the offer.

  • CSV: Add a limit column to the offers CSV. Leave empty if there is no limit
  • API: Set a limit on the offer object in the create or update endpoints. Set the limit to null if there is no limit.

Details

Time-Limited Offers

Web Purchase Limits work nicely with Time-Limited Offers. The behavior of purchase limit will depend on the offer state:

  • Not active: the offer is not available then purchase limits are irrelevant
  • Previewing: the purchased count will be set to zero
  • Active: the purchased count will be the quantity of the offer sku that was purchased within the time range of the active offer

Example:

  • Offer A previews on July 1, is available on July 2, and ends July 31 at midnight. It has a purchase limit of 2
  • If the user goes to the shop on June 1, they will not see the offer
  • If the user goes to the shop on July 1, they will see the offer with 2 remaining, but not yet available to purchase
  • If the user goes to the shop on July 2, they will see the offer with 2 remaining. They will be able to purchase 2 of Offer A between July 2 and July 31 at midnight
  • After July 31, Offer A’s time limits are updated to start on September 1 and end on September 31 at midnight, with a purchase limit of 2
  • On September 1, the user will see the offer, and they will be able to purchase 2 of the offer, even if they purchased 2 during July. Since it’s a new time window, the purchased count does not include purchased offers from outside that window
🚨

Warning! The limit is configured on the offer, not on a specific time range for the offer. So even if the offer is listed multiple times in the offers CSV, the limit will always be whatever the first one listed is

Refunds

If any part of a purchase is refunded, all items in that purchase are considered unfulfilled and the purchased offer count will not include those offers

Inventory Endpoint

It is possible for the account.getInventory endpoint to return a purchase limit for a SKU that also has a Web Purchase Limit configured. If this happens, the account.getInventory purchase limit will take priority, and the internally tracked purchase count will NOT be considered.

Example:

  • Offer A has a Web Purchase Limit of 2
  • A user purchases 2 of Offer A
  • The developer’s account.getInventory endpoint starts returning Offer A with purchased: 0 and limit: 2
  • Since the inventory endpoint takes priority, the user will now be able to purchase two more of the offer