Connecting Your Shopify Store.
Step-by-step guide to linking your Shopify store to your loyalty program.
⚠️ Alpha Feature: The Shopify integration is currently in alpha testing and is not officially supported. Features may change without notice. Not recommended for production use.
Connect your Shopify store to automatically award loyalty points when customers make purchases. No manual tracking required—the system handles everything from order processing to point calculations.
Before You Begin
You'll need:
- At least one active loyalty card
- Your Shopify store subdomain (e.g.,
my-storefrommy-store.myshopify.com) - Owner or staff access to your Shopify admin
Connecting Your Shopify Store
- Navigate to Integrations → Shopify in the partner sidebar
- On the Shopify integration page, you'll see "How It Works" cards explaining the process
- Select a Loyalty Card from the dropdown — this card's rules determine how points are earned
- Enter your Shopify Store URL — just the subdomain (e.g.,
my-awesome-store) - Click Connect Store
- You'll be redirected to Shopify's authorization page
- Review the permissions and click Install app
- You'll be redirected back to your integration dashboard
Once complete, you'll see the connected dashboard with your Shopify store status, linked card, and available tabs.
What Happens During Connection
When you authorize the Shopify integration:
| Step | What Happens |
|---|---|
| OAuth Authorization | Secure token exchange with Shopify |
| Webhook Registration | Shopify notifies us of orders and refunds |
| Widget Configuration | Public API key generated for storefront widget |
| Status Activation | Integration becomes active and starts processing |
Your Shopify integration is now live and ready to process orders.
Understanding the Dashboard
After connecting, your dashboard shows four tabs:
Overview Tab
Displays connection status and key information:
| Card | Information |
|---|---|
| Store | Your connected store domain |
| Loyalty Card | Which card is earning points |
| Connected Since | When you first connected |
| Recent Activity | Number of recent webhook events |
The Connection Management card shows your current status and provides controls:
- Status Badge: Green "Receiving webhooks" when active, amber when paused
- Pause Button: Temporarily stop processing (webhooks are logged but not processed)
- Disconnect Button: Remove the connection entirely
Widget Tab
Contains your embed code and installation instructions. See Storefront Widget Installation for details.
Settings Tab
Configure widget appearance and point rules. See Integration Settings & Point Rules for details.
Activity Tab
Shows recent webhook events with processing status:
| Status | Meaning |
|---|---|
| Processed (green) | Order handled successfully, points awarded |
| Ignored (yellow) | Valid webhook but no action needed (e.g., duplicate) |
| Failed (red) | Error occurred during processing |
Review this tab if customers report missing points.
Pausing Your Integration
Need to temporarily stop processing without disconnecting?
- Go to the Overview tab
- Find the Connection Management card
- Click Pause
While paused:
- Webhooks are logged but not processed
- No points are awarded for new orders
- Your widget continues to show existing data
- You can resume anytime
To resume: Click Resume on the same card. Processing picks up where it left off.
Disconnecting Your Store
If you no longer want the integration:
- Go to the Overview tab
- Click Disconnect in the Connection Management card
- A confirmation modal appears
- Type your store name exactly to confirm
- Click Disconnect Store
After disconnecting:
- Webhooks stop being processed
- The widget stops working on your storefront
- Existing member points remain unchanged
- You can reconnect the same store later (creates a new integration)
💡 Tip: Consider pausing instead of disconnecting if you might want to resume later.
Demo Mode
Want to explore the integration without connecting a real Shopify store? Enable demo mode:
- Open your
.envfile - Add:
APP_DEMO=true - Clear cache:
php artisan config:clear
With demo mode enabled:
- Connection works without real Shopify credentials
- A "Demo Mode" badge appears on the dashboard
- You can explore the full dashboard, settings, and widget configuration
- Useful for understanding the workflow before connecting a real Shopify store
💡 Tip: You can enable both
FEATURE_SHOPIFY=trueandAPP_DEMO=truetogether to test the complete integration experience.
Troubleshooting
"Store URL is required"
Cause: You clicked Connect without entering your Shopify store subdomain.
Solution: Enter your Shopify store's subdomain (e.g., my-store, not the full URL).
"Please select a loyalty card"
Cause: No card was selected before connecting.
Solution: Choose an active loyalty card from the dropdown. If none appear, create a card first.
"This store is already connected"
Cause: This Shopify store is already linked to a loyalty program (yours or another).
Solution: Disconnect the existing integration first, or use a different Shopify store.
"Connection failed - please try again"
Cause: The Shopify OAuth flow was interrupted or timed out.
Solution:
- Ensure pop-ups aren't blocked in your browser
- Check that you have owner or staff access to the Shopify store
- Try again from the beginning
- Clear your browser cache if issues persist
App doesn't appear in Shopify admin
Cause: Authorization may not have completed properly.
Solution:
- Disconnect from the Reward Loyalty dashboard
- Reconnect and complete the full Shopify authorization flow
- Ensure you clicked "Install app" on the Shopify authorization page
Next Steps
Once connected:
- Install the storefront widget so customers can see their points
- Configure your settings to customize the experience
- Make a test purchase to verify points are awarded
Related Topics
- Storefront Widget Installation — Add the widget to your Shopify theme
- Integration Settings — Configure point rules and appearance
- Creating Loyalty Cards — Set up your loyalty program
- Understanding Clubs — Organize your business structure
Note: As an alpha feature, official support is not available. Report issues via the feedback system, but resolution is not guaranteed.