Use cases

Custom shops that use payment processors like Stripe, PayPal & more

For a loyalty solution to be operational, you need three basic ingredients:

Step 1: Get order and customer data into Bubblehouse. (No work needed due to a payment processor integration. Estimated saved effort: 4–8 hours.)

Step 2: Set up a way for Bubblehouse to implement discounts on your store. (No work needed if using hosted Stripe Checkout. Otherwise, estimated effort: 3–6 hours.)

Step 3: Display a loyalty program page to the user. This always needs to be handled by your team. (Estimated effort: 2–4 hours.)

Depending on the payment processor you use and your unique setup, you can save integration effort by utilizing our first-party Stripe, PayPal, Braintree, Bolt and Square integrations.

First-party integration details

Stripe Checkout

If you’re using hosted Stripe Checkout pages, we will take care of steps 1 and 2 for you.

Step 1: We’ll pull transaction information from Stripe, and create (or update) the corresponding customer records in Bubblehouse.

Step 2: We’ll also set up the discount codes in Stripe on demand, for the coupon code rewards your program needs, including redemption of loyalty points.

Step 3: You need to display the loyalty program page to your customers. See Step 3 below.

Stripe (used via API to collect payments)

If you collect payments via Stripe and generally provide your own checkout experience (i.e. you do not use Stripe Checkout), we can pull transaction and customer information from Stripe, but you will need to take care of steps 2 (setting up the discount codes) and 3 (displaying the loyalty program page).

Step 1: We can pull transaction information from Braintree, and create (or update) the corresponding customer records in Bubblehouse. Depending on your exact setup, however, we might decide that it is better to pull customer and order information from your own systems instead of from Stripe. This typically happens when some of your orders do not go through Stripe (e.g. phone orders, in-person transactions, etc.)

Step 2: You need to handle discount codes in your system and implement the Bubblehouse webhooks, see Step 2 below. We have alternatives if this step cannot be done as described.

Step 3: You need to display the loyalty program page to your customers. See Step 3 below.

PayPal

Whether you’re using hosted PayPal experiences (Smart Payment Buttons, classic hosted pages), or using PayPal via API, the integration works the same way.

Step 1: We can pull transaction and customer information from PayPal, but you will need to take care of steps 2 (setting up the discount codes) and 3 (displaying the loyalty program page).

We can pull transaction information from PayPal, and create (or update) the corresponding customer records in Bubblehouse. Depending on your exact setup, however, we might decide that it is better to pull customer and order information from your own systems instead of from PayPal. This typically happens when some of your orders do not go through PayPal (e.g. phone orders, in-person transactions, etc.)

Step 2: PayPal does not handle discount codes on their end, so you will need to process discounts in your system and pass the discounted amount to PayPal. See Step 2 below for the Bubblehouse webhook that you need to implement.

Step 3: You need to display the loyalty program page to your customers. See Step 3 below.

Braintree

We can pull transaction and customer information from Braintree, but you will need to take care of steps 2 (setting up the discount codes) and 3 (displaying the loyalty program page).

Step 1: We can pull transaction information from Braintree, and create (or update) the corresponding customer records in Bubblehouse. Depending on your exact setup, however, we might decide that it is better to pull customer and order information from your own systems instead of from Braintree. This typically happens when some of your orders do not go through Braintree (e.g. phone orders, in-person transactions, etc.)

Step 2: You need to handle discount codes in your system and implement the Bubblehouse webhooks, see Step 2 below. We have alternatives if this step cannot be done as described.

Step 3: You need to display the loyalty program page to your customers. See Step 3 below.

Bolt

We can pull transaction and customer information from Bolt, but you will need to take care of steps 2 (setting up the discount codes) and 3 (displaying the loyalty program page).

Step 1: We can pull transaction information from Bolt, and create (or update) the corresponding customer records in Bubblehouse. Depending on your exact setup, however, we might decide that it is better to pull customer and order information from your own systems instead of from Bolt. This typically happens when some of your orders do not go through Bolt (e.g. phone orders, in-person transactions, etc.)

Step 2: For the discount codes, you will need to arrange to store a list of discount coupons on your end, implement a Bolt callback that asks you to verify a discount code, and implement Bubblehouse webhooks for setting up and deactivating discount coupons. Most Bolt users already have this handled, so you only need to add the Bubblehouse webhooks, see Step 2 below.

Step 3: You always need to handle displaying the program page to your customers. See Step 3 below.

Square Online Store

If you’re using Square Online Store experience, we will pull transaction and customer information from Square, but you will need to take care of step 3 (displaying the loyalty program page).

Step 1: We’ll pull transaction information from Square, and create (or update) the corresponding customer records in Bubblehouse.

Step 2: For the discount codes, Square does not provide an API for Bubblehouse to set up a discount code on demand, so you will need to either precreate a batch of discount codes that we will rotate, or use our external gift card rewards instead.

Step 3: You always need to handle displaying the program page to your customers. See Step 3 below.

Square (used via API)

If you use Square to collect payments, but otherwise run your own online store system, we can pull transaction and customer information from Square, but you will need to take care of steps 2 (setting up the discount codes) and 3 (displaying the loyalty program page).

Step 1: We can pull transaction information from Square, and create (or update) the corresponding customer records in Bubblehouse. Depending on your exact setup, however, we might decide that it is better to pull customer and order information from your own systems instead of from Square. This typically happens when some of your orders do not go through Square.

Step 2: You need to handle discount codes in your system and implement the Bubblehouse webhooks, see Step 2 below. We have alternatives if this step cannot be done as described.

Step 3: You always need to handle displaying the program page to your customers. See Step 3 below.

Step 2: Set up a way for Bubblehouse to implement discounts on your store

(Ignore when using hosted Stripe Checkout payment pages.)

Bubblehouse implements rewarding via two primary methods:

  1. Discount codes. Almost every type of reward we support (point redemption, free products, referral rewards) involves a discount code.

  2. External gift cards (e.g. Amazon gift cards)

We have a few ways discount codes can be integrated:

  1. The preferred method is for you to implement a webhook called CreateDiscount4. We will call this hook in real time every time we need to set up a new discount code, i.e. when a customer is redeeming points, sending a referral, redeeming a free product, and similar.

  2. If on-demand generation is impossible or undesirable, you can pre-generate a large number of single-use codes and import them to Bubblehouse via CSV.

  3. If single-use codes cannot be arranged, you can pre-generate a small number of multi-use codes and have Bubblehouse rotate them.

  4. In some cases, we allow you to pre-generate a code on your end and provide it to us — we support this for personal referral codes certain scenarios.

Step 3: Display a loyalty program page to the user

When it comes to displaying the loyalty program, you have two options.

  1. We build the loyalty UI. Our design team works with you to define the look and feel of the program, then our configuration team implements it. You only need to create a page on your site and drop in an IFRAME and our script, and pass authentication data (the currently logged in customer) into the iframe. This normally requires 2–4 hours of development work on your end. About 95% of our clients choose this method.

  2. You build the loyalty UI using our APIs like CustomerBalance3, LoggedOutBalance1, RedeemPoints1, RedeemOffer1, UpdateCustomerDetails1 and more. This is a big project that will take you several weeks to complete, and gives you the ultimate flexibility. Only about 5% of our clients choose this method.

The iframe looks and feels like a part of your site. You provide the header and footer, including navigation, and the page content comes from our iframe. It works great on mobile, scrolls with the page, and fits into your design theme.

You will find the example script and iframe tags in your API console. Watch this video for more details:

You will need to build a JWT authentication token and pass it in the query string of the iframe.

We have docs on authentication, but we recommend that you simply watch this video:

Our team will provide an iframe for your main loyalty page. Depending on your program and needs, we may also provide additional iframes — for example, a dedicated referral page and a block for your account page.

If you’d like to include the customer’s point balance/tier into your navigation bar, and for other very small pieces of UI where an iframe does not make sense, you can use CustomerBalance3 API to fetch and display the information you want. You can query it from the frontend or from the backend.

Previous
Headless shops