Set Up Loyalty Program
Enable Square Loyalty rewards for your WooCommerce customers.
Integrate Square's Loyalty program with your WooCommerce store. Customers earn and redeem points for online and in-store purchases.
Overview
With Square Loyalty integration, your customers can:
- Earn points on WooCommerce purchases
- Redeem points for rewards at checkout
- Track their loyalty status online
- Use points across online and in-store purchases
Prerequisites
Before setting up loyalty:
- Active Square Loyalty program
- SquareSync for Woo Pro 7.7.0 or higher
- Connected Square account
Step 1: Enable Loyalty Features
- Go to SquareSync for Woo > Settings > Loyalty Program
- Toggle Point Accruing to allow customers to earn points
- Toggle Point Redeeming to allow customers to use points
- Click Save Changes
Step 2: Choose Calculation Method
Select how points are calculated for orders.
Earning exclusions apply with either method. Since 10.4.1, categories and
items your Square loyalty program excludes from earning — and gift card
products — never earn points on your website: not in the cart and checkout
"you will earn" estimates, not on product pages, and not in the points
actually awarded. The loyalty settings page shows the earning conditions
currently applied, and the
sws_loyalty_product_excluded
filter can exclude further products.
Square calculates points from the Square order.
Advantages:
- Fully automated calculations
- Points tied to Square orders/transactions
Considerations:
- Shipping is included, so shipping costs may over-earn points
- Not compatible with Split Orders by Product Locations — split orders are recorded in Square with EXTERNAL payment records, which Square does not recognise for automatic point accumulation, so no points are awarded (the plugin adds an order note when this happens). Stores that split orders by location must use Custom Calculation instead.
Best for: Businesses wanting simplicity and consistency with in-store loyalty.
Step 3: Save Permalinks
After enabling loyalty features, refresh your permalinks:
- Go to Settings > Permalinks in WordPress
- Click Save Changes (no modifications needed)
- This registers the loyalty dashboard URLs
This step is required for the customer loyalty dashboard to work properly. Without it, loyalty pages may return 404 errors.
Customer Experience
Earning Points
Customers earn points automatically when:
- They place an order
- Payment is completed
- Order meets eligibility requirements
Points appear in their account after order completion.
Viewing Points
Customers can view their points:
- On their account dashboard
- Using loyalty shortcodes you place on pages
- Through the loyalty widget
Redeeming Points
At checkout, customers can:
- See their available points
- Choose to apply points to their order
- Receive a discount based on point value
Rewards are only offered while Point Redeeming is enabled — when it is off, customers still see their points balance but cannot apply rewards (a redemption that could not be recorded in Square would otherwise give the discount without deducting the points).
Tax Treatment of Rewards
How the reward's discount interacts with tax (from version 9.12.1):
Tax-inclusive stores: a redeemed loyalty reward reduces the taxable base of the order. The Loyalty Discount is recorded as a net amount plus tax, apportioned across the tax rates of the items the reward applies to (zero-rated items contribute no tax share). Tax is therefore declared on the discounted consideration — the treatment many jurisdictions require for price-reducing discounts (e.g. UK VAT). The customer still receives exactly the promised discount and the order total is unchanged; only the net/tax split moves. Example: a £2.50 reward on a standard-rated (20% VAT) basket is recorded as £2.08 net + £0.42 tax, reducing the declared VAT by £0.42.
This is controlled by Rewards reduce the taxable base in Loyalty
settings — ON by default. Disable it only if your accounting depends on the
previous behaviour (the reward carried no tax), for example for continuity
until the end of a tax period. Developers can also override it with the
sws_loyalty_fee_reduces_tax_base filter.
Tax-exclusive stores: unchanged — the reward is a flat discount and does not affect the tax charged.
Gift cards are different and deliberately unaffected: a gift card is a payment method, not a price reduction, so redeeming one does not reduce the taxable base — tax on the pre-redemption total is correct there.
The same figures flow through to Square: the reward is deducted exactly once from the Square order (via the Square-attached reward with the default redemption method, or the plugin's discount entry with the custom method), so Square's recorded sale and "Tax Included" match what the customer actually paid.
Linking Customers
For loyalty to work, customers must be linked between WooCommerce and Square.
Automatic Linking
When a customer:
- Creates a WooCommerce account
- Places an order
- Their email matches a Square customer
They're automatically linked.
Manual Linking
For existing customers, link them by:
- Going to their WooCommerce customer profile
- Using the Square customer lookup
- Confirming the match
Troubleshooting
Points not accruing
- Verify loyalty program is enabled
- Check calculation method settings
- Confirm order completed successfully
- Verify customer is linked to Square
Redemption not working
- Check Point Redeeming is enabled
- Verify customer has sufficient points
- Confirm reward is configured in Square
- Check for minimum order requirements
Customer not linked
- Verify email addresses match
- Check Square customer exists
- Try manual linking
- Confirm API connection is active
Dashboard not loading
- Re-save permalinks
- Clear caching plugins
- Check for theme conflicts
- Verify shortcodes are correct
Points discrepancy
- Compare Square and WooCommerce order history
- Check calculation method consistency
- Review for cancelled or refunded orders
- Audit point earning rules