Instant Rewards on
All Platforms

Instant Rewards

Instant Rewards signals Button Publishers immediately when they drive a purchase through a Merchant partner’s mobile website. Learn more on our website.

With a full implementation, Instant Rewards allows Button Publishers to communicate with their users immediately upon checkout on a Merchant partner’s mobile web checkout confirmation page and through their own properties.

We recommend implementing both Instant Rewards Webhooks and Instant Rewards through Purchase Path Extensions to create the best customer experience, but each can be implemented independently.

Key specifications:

  • Immediate signal: <5 seconds per measurement after checkout event
  • ~95%+ of Instant Rewards signals transition to Button orders
  • Compatible with iOS & Android SDK versions 5.27+
  • Available for mobile web checkout only (App support coming soon)
  • Purchase Path Extensions are compatible with Mobile App Publishers only

In this guide, we'll go over:

Instant Rewards Webhook

The Instant Rewards: Order Checkout Webhook sends an immediate notification (<5 seconds) to your server based on a customer checkout event.

When a customer completes a purchase, Button detects this event and issues a webhook:

{
    "id": "hook-123",
    "event_type": "order-checkout",
    "data": {
      "event_date": "2018-01-01T12:00:00Z",
      "merchant_organization": "org-abc",
      "thirdparty_id": "abc123",
      "btn_ref": "srctok-123"
    },
    "request_id": "attempt-123"
}

The thirdparty_id contained in the webhook refers to the User ID that can be configured for mWeb, iOS, and Android.

For more information on webhooks and how to integrate them, see this guide.

How to enable Instant Rewards Webhooks

  1. Visit the webhook configuration page in the dashboard.
  2. Add a new webhook endpoint or pick an existing endpoint and click edit.
  3. Enable the Instant Rewards: Order Checkout webhook type.
  4. Confirm you are receiving traffic.

Instant Rewards through Purchase Path Extensions

Instant Rewards can be enabled in your app using the Button SDK by creating a Purchase Path Extension.

How it works

Instant Rewards is enabled within Button's In-App checkout experience by creating a Purchase Path Extension. A Purchase Path Extension enables you to interact with the user during mobile web checkout by reacting to key events — including when a user completes checkout.

You can then create a card to show to the user. For example:

You can also direct the user experience in any other way you’d like for instance, by showing a custom view when the user returns to your App.

How to enable Instant Rewards through Purchase Path Extensions

You can find a guide on making your first Purchase Path Extension here. Once you have a Purchase Path Extension, adding Instant Rewards is simple.

1. Receive purchase callbacks in your Purchase Path Extension.

func browser(_ browser: BrowserInterface didNavigateToPurchase page: PurchasePage) {
    browser.header.title.text = "Thank You!"
    browser.header.subtitle.text = "Your reward will be available in 24 hrs"
}
- (void)browser:(id <BTNBrowserInterface>)browser didNavigateToPurchase:(id<BTNPurchasePage>)page {
    browser.header.title.text = @"Thank You!";
    browser.header.subtitle.text = @"Your reward will be available in 24 hrs";
}
override fun onPurchaseNavigate(BrowserInterface browser, PurchasePage page) {
    browser.header.title.text = "Thank You!"
    browser.header.subtitle.text = "Your reward will be available in 24 hrs"
}
@Override
public void onPurchaseNavigate(BrowserInterface browser, PurchasePage page) {
    browser.getHeader().getTitle().setText("Thank You!");
    browser.getHeader().getSubtitle().setText("Your reward will be available in 24 hrs");
}

2. Notify the user of success. See Purchase Path Extensions for options.

What's Next

Now that you know about Instant Rewards, see how to implement:


Configure Webhooks

Receive real-time server-to-server updates when users make purchases that are attributed to you. Simply configure which events you want notifications for and where to send them. Then, Button will send you an HTTP request when any of those events are created.

View Guide

Predictable Rewards

Want to let users know whether they're going to get rewarded for a purchase? Button Predictable Rewards builds on Purchase Path Extensions to give you real-time information about whether items will commission from the SDK.

View Guide