Getting Started with Friendbuy
Getting Started with Referral
Plan Your Referral Program Implementation Team
Merchant SDK Setup with Google Tag Manager
How to Join Your Team on Friendbuy
Best Practices
Referral Program Placements
Friendbuy Referral Emails
Driving Referral Program Awareness
Referral Offer Strategies
Limited-Time Offer Promotions in Referral
Referral Contests, Sweepstakes and Giveaways
A/B Testing Best Practices
Account Management
How can I invite my team to the Friendbuy platform?
Managing Your Account Settings
How to Set Up and Change Your Email Sender
Referral Campaign Management
Widgets
How to Create a New Theme
How to Make Changes to a Theme
Widget & Email Image Specifications
How to Apply Theme Changes to a Widget
How to update a Widget or Theme to the latest version
How to Set Up a Ribbon
How to Set Up an Advocate Landing Page
How to Set Up a Friend Landing Page
How to Set Up a Post-Purchase Overlay
How to Set Up an Account Page Widget
How to configure your Terms & Conditions
How to Test a Widget
How to Set up a Self-Referral Overlay
How to Set Up a Customer Dashboard
How to Personalize Your Widgets with the Advocate name
Campaign Settings
How to Create a New Referral Campaign
How to set up Referral Code Personalization for PURLs
Setting Up an Advocate Reward
Setting Up a Friend Incentive
Shopify Coupon Codes Integration
How to Run an A/B Test
How to Change Your Referral Offer
Setting Up Max Clicks for Referral Links
How to Generate Personalized URLs (PURLs) through Our API
How to Generate Personalized URLs (PURLs) for Advocates
How to Configure Tiered Rewards
How to Archive a Referral Campaign
How to Duplicate Your Campaign
How to Set Up a Redirect for Limited Time Campaigns
How to set up Code Based Sharing
Code Banks
How to Create a New Code Bank
How to Generate Coupons in Bulk for Shopify
Setting Up Low Code Bank Notifications
How to Add Codes to an Existing Code Bank
Emails
Email Types for Your Referral Program
How to Add DNS Records for Email Sender Verification
How to Create, Edit, and Manage Emails
How to set up an Expiration Reminder email
How to Assign an Email to a Campaign
Generate a QR Code for a Referral Link (API)
Loyalty Program Management
Uploading Data From a Legacy Loyalty Program
How to Set Up Purchase Based Member Tiers Program
How to Set Up a Points-Based Member Tier Program
How to Set Up Points Redemption Options
How to Set Up Shopify Coupon Code Integration in a Loyalty Earning Event
How to Set Up a Loyalty Opt-in CTA
Understanding the Loyalty Analytics
Manually Reward Customers via CSV Upload
Rolling Points Expiration Reminder Emails
Manually Opt a Customer In or Out of Loyalty
Receipt Scanning for Loyalty
How to Display Loyalty Points on a Product Detail Page (PDP)
How to Create an Earning Event
Cashback Rewards for Loyalty (Shopify Integration)
How to Configure an Earning Event in your Loyalty Program
How to set up expiration for Points or Account Credit
How to Create, Edit, and Manage Loyalty Emails
Integrations
Recharge Integration
Ethyca Integration
Klaviyo Integration
How to send Referral Links Post Product Review (Yotpo + Klaviyo)
How to Prompt a Referral After a Positive Review with Friendbuy and Trustpilot (via Klaviyo)
How to send one time emails with referral links through Klaviyo
How to Send Referral Links Post Positive Product Review (Okendo + Klaviyo)
How to Send Referral Links Post Purchase through Klaviyo
How to Promote Your Referral Program via SMS (Through Klaviyo)
How to Enable the Klaviyo Integration
How to Distribute a Reward To Your Loyalty Members on Their Birthday (Through Klaviyo)
How to Send a Customer their Loyalty Points Balance Through Klaviyo
How to Email Coupon Codes Through Klaviyo to Advocates and Friends After They Are Distributed by Friendbuy
How to Reward Customers for Providing a Review Through Yotpo via Klaviyo Through Your Loyalty Program
How to Send Reminder Texts to Redeem Loyalty Rewards Through Klaviyo
Upgrading to Klaviyo OAuth with your Friendbuy Integration
How to Reward Customers for Providing a Review Through Okendo via Klaviyo Through Your Loyalty Program
How to Trigger a Text to Remind Advocates to Redeem Referral Rewards (Through Klaviyo)
How to Trigger a Text to Remind Referred Friends to Redeem their Incentives (Through Klaviyo)
How to Send Coupon Codes through Klaviyo SMS to Advocates and Friends After They are Distributed by Friendbuy
How to Reward Customers For Subscribing to Klaviyo Emails and Texts Through Your Loyalty Program
How to Segment Customers Based on Tier Status in Klaviyo
How to Reward Customers for Providing a Review Through Stamped via Klaviyo Through Your Loyalty Program
Braze Integration
DataGrail Integration
Tango Card Integration
Cordial Integration
Segment Integration
How to Integrate Friendbuy as a Segment Source
How to set up the Segment Web-Mode (Destination Actions) Integration
Shopify Integration
How to Enable the Shopify Integration
Shopify Checkout Extensibility
Checkout Extensibility - Shopify Pixel Tracking
Shopify Theme App Embed
How Friendbuy Powers Loyalty Point Refunds with Shopify
How to Integrate Friendbuy with Shopify POS for Loyalty and Referral
Ordergroove Integration
Kustomer integration
Tremendous Integration
Iterable Integration
Trigger a Direct Mail Campaign to Drive Referral Program Awareness (Friendbuy x Iterable x Poplar)
How to Enable the Iterable Integration
How to Automatically Text Referred Friends their Coupon Code with Iterable Journeys
How to Prompt a Referral After a Positive Review with Friendbuy and Trustpilot (via Iterable)
Increase Referral Program Awareness with a Dedicated Email Blast through Iterable Journeys
Attentive Integration
Send a Triggered Text to Prompt a Referral After a Positive Review with Attentive and Okendo
Automatically Prompt a Referral Post Purchase in Attentive
Send Referral Program Text Messages Through Attentive
How to Text Coupon Codes to Advocates using Attentive Journeys
Make it Easy for Advocates to Refer by Sending Their PURL Through SMS using Attentive Journeys
How to Send Advocates a Reminder Text to Redeem Their Coupon Codes through Attentive Journeys
How to Send Referred Friends a Reminder Text to Redeem Their Coupon Codes through Attentive Journeys
How to reward Loyalty Members for signing up for Attentive text messages and emails
How to Include a Customer's Loyalty Points Balance in an Attentive Text
How to Send a Coupon Code to a Referred Friend using Attentive Journeys
How To Enable the Attentive Integration
Salesforce Commerce Cloud
Fivetran Integration
How to Integrate Your Friendbuy Loyalty and Referral Program with Rise.ai to Issue Stackable Gift Cards and Account Credit
Friendbuy + Stripe Integration (Referral Program)
Fraud Prevention
How to Block a Referral Code
How to Block an Email Address
Fraud Settings and Business Rules
Configuring a Global Reward Allowance
Configuring a Referral Link Fallback URL
How the Similar Email Address Fraud Check Works
Customer Service Portal
How do I check the status of a referral?
How to Manually Add or Remove Credit / Points to a Customer's Account
Why was my customers reward rejected?
The Referred Friend put in their email address but didn’t get their coupon code. How do I find this?
Resend Reward Email
Override a Rejected or Pending reward
How to Search for a Customer Profile
How to Search for a Customer’s Referral Link in the Friendbuy Platform
How to create a Manual Referral
Why didn't the Advocate receive a Reward for a successful referral?
Reasons for Rejected Advocate Rewards and Friend Incentives
Analytics & Reports
Performance Overview
Reports
Mark purchases as "Test" to maintain clean reporting
Top Advocates Report
Scheduled Reports
Account Credit or Points Statement Export
Exporting Reports from Friendbuy
Email & SMS Report
Advocate Rewards Report
Purchases Report
Friend Incentives Report
Understanding the Codes Report
Dashboards
Referral Performance Analytics Dashboard
Referral Analytics Dashboard Overview Metrics
Advocate Reward Email Analytics
Loyalty Email Analytics
Common FAQs
What does Fraud Protection do?
How to Access my Billing Information
What is a typical referral flow?
How to Apply Theme Changes to a Widget
Difficulty downloading reports after you receive an export email?
What are Fraud Checks, Tier Checks, and Rules Checks in the Rewards Report?
How do I change my password?
What is a self-referral redirect URL?
What do the Reward Statuses and Definitions mean?
How to Create a New Theme
What is a Friend Widget?
How are Conversions Tracked in Friendbuy?
A Glossary of Terms
How long is the Referred Friend attribution window
What are some common scenarios, and how do I troubleshoot them?
Developer Documents
- All Categories
- Loyalty Program Management
- Receipt Scanning for Loyalty
Receipt Scanning for Loyalty
Updated
by Samantha Brown
Friendbuy’s Receipt Upload feature allows merchants to reward loyalty members for in-store purchases by submitting physical receipts. This document outlines how to configure, manage, and automate this process in your Loyalty Program.
Adding the Receipt Upload Earning Event
Add this earning event tile to your Earning Event Widget so customers can see the option to upload a receipt in order to earn rewards.
Use Cases:
- Incentivize in-store purchases
- Run regional promotions for specific retail partners
- Reward for specific products/SKUs

To get started:
- Navigate to your Loyalty Program settings.
- Click “Add Earning Event.”
- Select “Receipt Upload” from the available event options.
Once selected, you’ll begin configuring the event logic in the “Event Rules” section.
Configuring Event Rules
Define when and how rewards are issued by setting conditional logic for the receipt:

Required Rule
- IF: Customer uploads a receipt
Optional “AND” Conditions
You can refine the rule further using attributes such as:
- Purchase Source (e.g., must be from an in-store location)
- Order Value / Order Subtotal
- Member Tier
- SKU
- Custom Attribute
- New Customer
- Store details: Store Name, ID, Country, State
- Dates: Submission Date, Purchase Date, Purchase Day of Week
These options help restrict receipt rewards to specific campaigns, time periods, or customer types.
Event Scheduling
You can optionally schedule when the receipt event will be live: (e.g. if you want to schedule a weekend-only event where a customer can earn 5x points for purchasing in-store)
Use Cases
- Short-term pop-up campaigns
- Seasonal promotions
- Time-boxed retail partnerships

- Options:
• Start Date – The event begins earning points at this date.
• End Date – Points stop being earned after this date.
- Leave this blank for the event to stay continuously active.
Receipt Automation
Friendbuy’s Receipt Automation uses OCR (Optical Character Recognition) to automatically review and validate receipts submitted by loyalty program members. When enabled, this system can significantly reduce the manual effort required for reward approval — while still allowing flexibility via timing, validation logic, and control parameters.

Automate Processing toggle:
When ON: Friendbuy automatically processes incoming receipts using OCR.
Choose your Auto-process timing:
- Immediately: Scan and validate right after submission.
- After X Days: Introduce a delay before the auto-processing (useful for returns windows or fraud checks).
Example: Set to “After 7 days” if you want to wait until return periods expire before issuing points.
• When OFF: All receipts remain in a pending state until manually reviewed and approved or rejected by a team member.
Advanced Options
Expand Advanced Options to configure additional controls around validation, delay, and limits.

Option | Description | Use Case |
Custom Reward Validation | Allow Friendbuy to hit a URL endpoint to validate the receipt upload for any custom reason | Account for item returns |
Reward Delay | Delays the issuance of points after a receipt has been approved (automatically or manually) | Delay 7 days post-approval |
Max Reward Allowance | Set a limit on the number of rewards a customer can earn from receipt uploads. | Limit to 10 |
Viewing & Managing Uploaded Receipts
This tab gives you a comprehensive view of all uploaded receipts submitted by loyalty program members. It’s a central hub to monitor submission status and view receipt details
Navigate to Loyalty > Receipts to view this information
Receipt Information

Column | Description |
Order ID | System-generated receipt identifier. Clickable for full detail view. |
Status | Displays the processing state: • 🟢 Approved• 🔴 Rejected• 🟡 Pending |
Customer | Customer’s email and unique Friendbuy ID. |
Purchase Date | Parsed from the uploaded receipt. Helpful for identifying anomalies or filter-based logic. |
Store | Name and optional Store ID from the receipt. |
Details | “View” button to access full receipt content. |
Filters & Search:
- Date Filter: Specify a time range to view receipt activity (e.g., last 30 days).
- Search by: Email address, order ID, or other metadata for quick lookup.
View Receipt Details
Example: Approved Receipt Detail
Clicking into an approved receipt shows:

Left Panel:
• Receipt Status: Shows approval or rejection date.
• Image Link: View the submitted receipt image.
• Points Rewarded: How many points were issued, with a link to the relevant earning event.
Right Panel:
• Order Metadata:
• Order ID
• Order Date
• Submission Date
• Customer Email & ID
• Store Info: Parsed address from the receipt image.
• Itemized Purchase:
• SKU
• Item Name
• Quantity
• Unit Price
• Subtotal
Example: Receipt Image
Friendbuy’s OCR engine extracts data from uploaded receipt images, including:
- Store name and address
- Purchase date and time
- Product names, SKUs, and prices
- Subtotals and totals
This data is used to:
- Trigger reward rules
- Validate event criteria
- Provide auditability

Manually Creating or Uploading Receipts (Customer Support Workflow)
If customers call / email in to customer service because they're having issues uploading their receipts, you can:
- Upload a receipt on behalf of a customer
- Create a receipt entry manually using key order details
Locate the Customer in Friendbuy
- Navigate to Customer Service > Customer Look Up
- Search for a customer
- Click on the “Receipts” tab to see any past receipt submissions associated with that customer.
- Click the Create Receipt button

Option A: Upload a Receipt Image
- Choose “Upload receipt image”
- Upload 1–5 images of the same receipt (formats: JPG, JPEG, PNG, or PDF; max 6MB).
- Make sure the receipt is legible and includes:
- Product names
- Prices
- Store name
- Purchase date
- Click “Upload receipt image” to submit.
- A confirmation message will confirm that the receipt has been created successfully.
Click Choose photos button

Select Images You want to Upload

Click Upload Receipt Image Button

Receipt Creation Success Message

Option B: Manually Add Receipt Details
If a receipt image is unavailable or OCR fails, use manual data entry:

Create a Receipt

Required fields:
- Receipt ID
- Purchase Date
- Subtotal
- Store Name
- Store ID
- Store Country / State
- SKUs Purchased
Once completed, click Create Receipt to save the entry. This will then go through the same processing and validation workflow as standard uploads.

Best Practices for Support Teams
- Always confirm customer identity before uploading on their behalf.
- Ensure you're familiar with the reward criteria for approving points
- If uploading on behalf of a customer, ensure receipts meet the earning event rules to avoid rejection.
- Use manual creation when image upload is not viable.