Skip to main content

Bloomreach - Integration Manual

Integrate LoyaltyLion and Bloomreach and keep your customers up to date with their loyalty accounts.

Written by Jason Leader

The Bloomreach integration is available on all LoyaltyLion plans, but the Events are only available on our Plus Plan.
The integration is available on all platform stores.

In this article:


Why Bloomreach and LoyaltyLion?

Bloomreach Engagement brings your customer data, segmentation, and campaigns together in one place, so your marketing can respond to what your customers actually do.

LoyaltyLion sends your loyalty data straight into Bloomreach. Points balances, tiers, rewards, and referrals all arrive as customer properties you can segment on, and as events you can trigger campaigns from. Instead of loyalty sitting in one platform and your marketing in another, every Bloomreach campaign can speak to where each customer stands in your loyalty program.


Benefits of integrating with Bloomreach

  • Remind your customers how many points they have, and what those points can unlock

  • Segment your audience by tier, points balance, or reward activity, then tailor each campaign to the group

  • Win back customers who have points sitting unspent, or who are drifting away from your brand

  • Prompt your happiest customers to refer their friends

  • Celebrate the moments that matter, like a tier upgrade or a birthday, while they're still fresh

  • Personalize any Bloomreach campaign with live loyalty data, so it stays accurate whenever it sends


How to integrate LoyaltyLion with Bloomreach

Part 1: Connecting LoyaltyLion and Bloomreach

  1. In LoyaltyLion, go to Integrations > Bloomreach.

  2. Follow the setup instructions on the page. This will involve going into Bloomreach, and connecting your Project to LoyaltyLion. Paste your Project Token and API Base URL into LoyaltyLion.

  3. Below "API groups", click on the list of groups and then click "+ New group".

    Bloomreach API groups


  4. Select "Private access" and enter "LoyaltyLion" as the group name, then click "Create group".

  5. Copy the secret key that is shown and paste it into LoyaltyLion. Bloomreach shows this key only once, so if you close the dialog without copying it you'll need to create a new key.

  6. Close the dialog with the secret key, then copy the "API Key ID" for the newly created key (which will be named "Default") and paste it into LoyaltyLion.

  7. Under "Group Permissions", select the Customer properties tab and check the "Get" and "Set" checkboxes for both "New properties" and "Other".

    Bloomreach customer properties


  8. Under "Group Permissions", select the Events tab and check the "Get" and "Set" checkboxes for both "New events" and "Other".

    Bloomreach events


  9. Click "Save changes" at the top of the page.

  10. In the left navigation sidebar, go to "Data & Assets" and open the "Data manager".

  11. Inside the Data manager, click on the "Events" tab and turn on the checkbox labeled "Allow tracking of events not defined in the Data Manager", then click "Save changes". You'll be able to turn this off later, but it needs to be on for the initial installation.

  12. Back in LoyaltyLion, click the "Test Connection" button to ensure an integration has been made. If this does not succeed, please reach out to us at support@loyaltylion.com.

All four sets of permissions in steps 7 and 8 are needed. If any are missing, the connection test tells you LoyaltyLion doesn't have permission to get or set attributes or events.

Part 2: Setting up your customer properties and events

  1. In the "Set up customer properties and events" section, select the "Hard ID" used for customers in your Bloomreach project. To find this, open a customer profile in Bloomreach.


  2. Choose which LoyaltyLion events you want sent to Bloomreach. You can send all current and future events, send none, or pick individual events.


  3. Click the "Test integration" button. LoyaltyLion sends a small amount of test data to Bloomreach to check that both customer properties and events get through.

  4. If the test does not succeed, please reach out to us at support@loyaltylion.com.

LoyaltyLion syncs your customers to Bloomreach using their email address, so your Hard ID must correspond to an email address. If yours is not an email address, or is not listed, contact us at support@loyaltylion.com. Customers without an email address on their LoyaltyLion account aren't synced.

Bloomreach charges you for the events they receive, so pick the events your campaigns will actually use rather than sending everything. You can change your selection at any time after installing.

Part 3: Configuring your data types

Properties

  1. In Bloomreach, go to "Data & Assets" and open the "Data manager", then click on the "Customer properties" tab.

  2. For each row in the table below, find the property in the list and change its data type.

Property

Data Type

loyaltylion_referral_url

url

loyaltylion_birthday

date

loyaltylion_enroll_date

datetime

loyaltylion_tier_expiration_date

datetime

Events

  1. Click "Save changes" at the top of the page, then click on the "Events" tab.

  2. For each row in the table below, find the event and click the arrow on the right side to expand it. Then find the property in the list of the event's properties and change its data type.

Event

Property

Data Type

loyaltylion.customer.approaching_points_expiration

expire_points_at

datetime

loyaltylion.customer.approaching_reward_expiration

expires_at

datetime

  1. Click "Save changes" at the top of the page.

  2. Back in LoyaltyLion, click the "Complete installation" button.

  3. Choose whether to tick "Backfill data for all customers", then click "Install".

Backfilling customers

Backfilling sends every existing customer's loyalty data to Bloomreach straight away, which takes a while on a large program. If you leave it unticked, LoyaltyLion syncs each customer the next time something about them changes, so your Bloomreach project fills in gradually. Either way, backfilling covers customer properties only, and events that happened before you installed are never sent.


What fields are synchronized to Bloomreach?

Some of these only fill in once the matching feature is live in your program. The tier fields stay empty until you've launched tiers under Program > Tiers, and the Loyalty Pass and receipt fields need those features turned on.

Don't be alarmed if you can't see the fields in Bloomreach the moment you connect. The first sync takes a little time to push everything across. After that, changes are sent as they happen.

Property

What it is

loyaltylion_points_total

Your customer's total points, pending and approved together

loyaltylion_points_approved

Points that are approved and ready to spend

loyaltylion_points_pending

Points awarded but not yet approved

loyaltylion_points_spent

Points your customer has spent on rewards

loyaltylion_points_lifetime

Every point your customer has ever earned

loyaltylion_rewards_claimed

How many rewards your customer has claimed

loyaltylion_rewards_used

How many rewards your customer has used

loyaltylion_blocked

Whether your customer is blocked from your loyalty program

loyaltylion_enroll_date

When your customer joined your loyalty program

loyaltylion_referral_url

Your customer's personal referral link

loyaltylion_loyalty_tier

The tier your customer is in now

loyaltylion_birthday

Your customer's birthday, if they've given it to you

loyaltylion_insights_segment

Which Insights segment your customer falls into

loyaltylion_tier_expiration_date

When your customer's current tier expires

loyaltylion_tier_progress_value

How far your customer has progressed toward their next tier

loyaltylion_tier_progress_value_at_expiration

Their projected progress when the tier period ends

loyaltylion_tier_progress_needed_for_renewal

What's left to do to keep their current tier

loyaltylion_tier_progress_needed_for_upgrade

What's left to do to reach the next tier

loyaltylion_tier_upgrade_tier_name

The name of your customer's next tier

loyaltylion_tier_forecasted_tier_name

The tier they're forecast to land in when the period ends

loyaltylion_receipt_upload_url

Your customer's personal receipt upload link

loyaltylion_loyalty_pass_url

Your customer's Loyalty Pass link

loyaltylion_loyalty_pass_installed

Whether your customer has installed their Loyalty Pass


What events are sent to Bloomreach?

Event

When it triggers

loyaltylion.customer.enrolled

Your customer joined your loyalty program

loyaltylion.customer.tier_upgraded

Your customer moved up a tier

loyaltylion.customer.tier_downgraded

Your customer moved down a tier

loyaltylion.customer.approaching_tier_upgrade

Your customer is close to reaching the next tier

loyaltylion.customer.reward_available_notification

Your customer has enough points to claim a reward

loyaltylion.customer.recurring_reward_available_reminder

A monthly reminder for customers who have rewards available

loyaltylion.customer.referral_complete

Your customer successfully referred a friend

loyaltylion.customer.rule_completed

Your customer completed an activity that earns points

loyaltylion.customer.claimed_reward

Your customer claimed a reward

loyaltylion.customer.approaching_points_expiration

Your customer has points expiring soon

loyaltylion.customer.approaching_reward_expiration

Your customer has a reward expiring soon

loyaltylion.customer.moved_to_loyal_segment

Your customer moved into the Loyal segment

loyaltylion.customer.moved_to_at_risk_segment

Your customer moved into the At Risk segment

loyaltylion.customer.moved_to_defected_segment

Your customer moved into the Win Back segment

loyaltylion.customer.receipt_approved

Your customer's uploaded receipt was approved

loyaltylion.customer.receipt_declined

Your customer's uploaded receipt was declined


FAQ

Bloomreach's own documentation describes a different setup, using Omniconnect. Which one do I follow?

Follow the steps in this article. Bloomreach's documentation covers an earlier approach that connected the two platforms with Omniconnect, our webhooks, and a custom JavaScript transformation function you had to write and maintain yourself. The integration in this article replaces that. It needs no code, and it sends 23 customer properties and 16 events rather than the handful the older approach could carry.

The two write to differently named fields in Bloomreach, so if you set up the Omniconnect version in the past, its fields stay where they are and won't be overwritten. Contact us at support@loyaltylion.com if you'd like a hand moving across.

Why can't I see the LoyaltyLion fields in Bloomreach after connecting?

Check that LoyaltyLion is live on your site, because data only flows for a running program. The first sync also takes a little time to push every property across. After that, changes are sent as they happen.

I selected the tier fields, but they're empty in Bloomreach.

Some fields fill in as soon as you connect, like points and referral links. Others wait on a feature being live. Tier fields stay empty until you've launched tiers under Program > Tiers, and the same applies to the Loyalty Pass and receipt upload fields.

Why do the LoyaltyLion properties in Bloomreach all start with loyaltylion_?

So they can't clash with a field you already use. Bloomreach projects often hold customer data from several sources, and the prefix keeps ours clearly separated. It isn't configurable, so if the prefix causes you a problem, contact us at support@loyaltylion.com.

Does it cost me anything to send events to Bloomreach?

Bloomreach charges you for the events they receive, so more events means a higher Bloomreach bill. Choose the events your campaigns genuinely use rather than turning everything on, and you can change your selection later under Integrations > Bloomreach.

My Bloomreach dates are showing as numbers, or my referral links aren't clickable.

That usually means one or more data types in your Bloomreach Data Manager haven't been set. Check all six against Part 3 of the setup instructions above. A field with the wrong type still receives your data, so nothing is lost, and correcting the type fixes it.

Did this answer your question?