Skip to content

Theme App Extensions Overview

Theme App Extensions let you place individual loyalty components anywhere in your Shopify store theme. Unlike the Customer Account UI Extension (which is a single, full-page dashboard), Theme App Extensions are modular — you can pick and choose which components to display, and place them on any page that supports app blocks.

Why use Theme App Extensions? They give you maximum flexibility. Show a points balance on the homepage, display available rewards on product pages, add a referral sharing widget to your blog — the choice is yours. Each block works independently and can be placed multiple times across your store.


Available Blocks

Keystone Loyalty Rewards provides six app blocks, each serving a specific purpose. Click any block to read its full documentation:


How to Add a Theme App Extension to Your Store

Step 1: Open the Shopify Theme Editor

  1. From your Shopify admin, go to Online Store → Themes.
  2. Click Customize on your active theme.

Step 2: Navigate to the Page You Want to Edit

Use the page selector at the top of the Theme Editor to navigate to the page where you want to add a loyalty block (e.g., Homepage, Product page, Cart page).

Step 3: Add the App Block

  1. Click Add section or Add block in the section where you want to place the loyalty component.
  2. In the Apps section, find Keystone Loyalty Rewards and select the specific block you want to add.
  3. The block will appear in the editor. Drag and drop to reposition within the section.

Step 4: Configure the Block

  1. Click on the newly added block to see its settings in the right sidebar.
  2. Adjust the customization options (colors, layout, labels, etc.) to match your theme.
  3. Preview the changes. Blocks are responsive — toggle between desktop and mobile views.

Step 5: Save and Publish

Click Save to publish your changes. The block will immediately be visible on your live store.

Tip: You can add multiple instances of the same block to different pages. For example, place the Rewards block on both the homepage and product pages, each with different display settings.


Placement Ideas

PageSuggested BlocksWhy
HomepageAccount Data, Earning Rules, Referral SharingWelcome returning customers and showcase your loyalty program
Product PagesAccount Data, RewardsShow points balance and available rewards to encourage purchases
Cart PageRewards, ClaimsRemind customers to use their rewards before checkout
Thank You / Post-PurchaseReferral Sharing, Earning RulesEncourage referrals and continued engagement after purchase
Dedicated Loyalty PageAll blocksCreate a comprehensive loyalty program page
Landing Page (Referrals)Referral ClaimWelcome referred customers and let them claim their reward

General Block Requirements

FeatureDetails
Independent PlacementEach block works independently — no dependency on other blocks
Responsive DesignAll blocks adapt to mobile, tablet, and desktop
Authenticated DataBlocks load customer-specific data via authenticated API calls
Loading & Error StatesLoading skeletons while fetching, friendly error messages if needed
Enrollment AwarenessBlocks respect loyalty program enrollment status
Per-Block SettingsEach instance has its own settings in the Theme Editor
Online Store 2.0Requires an Online Store 2.0 compatible Shopify theme

Frequently Asked Questions

Can I add the same block to multiple pages?

Yes. Each block can be placed on as many pages as you want, with different settings per instance.

Do blocks work with all Shopify themes?

Theme App Extensions require an Online Store 2.0 compatible theme. Most modern Shopify themes support this.

What happens if a customer is not logged in?

Blocks requiring customer data show a "Log in" message or are hidden. Earning Rules and Rewards can show general program info to visitors.

Will the blocks slow down my store?

No. All blocks load data asynchronously and do not block page rendering.

Can I use blocks instead of the Customer Account UI Extension?

Yes. You can use Theme App Extensions on any page as an alternative or complement to the full dashboard.