Deliver highly personalized shopping experiences with Appbrew's Personalization Controls. Merchants can now control block visibility based on shopper-specific signals—cart contents, login status, purchase history, tags, app version, and more.
These rules can be applied to any block on the home screen or collection/product pages, etc via the dashboard.
➡ For real-world personalization use cases and strategies, read this detailed blog.
Every block in the design editor has a visibility control setting.
Merchants can define conditions under which the block should be shown or hidden.
These conditions are evaluated client-side in the app to ensure the right content is shown to the right user.
Go to Design → Home (or Collection/Product List).
Select the block you want to personalize (e.g. Carousel, Announcements, Banner, etc.).
Hover over the block and click on the eye icon with a clock (Set when to show this block
).
A modal will appear titled “Configure block visibility condition”.
You can set conditions such as:
🛒 Cart-based: Show only if the user has specific items in the cart.
👤 Login status: Target logged-in or guest users.
🛍 Purchase history: Personalize based on previous orders.
🏷 Shopify tags: Use customer tags from Shopify (e.g., “VIP”, “Wholesale”).
📱 App version: Control visibility based on app version (great for phased feature rollouts).
Select the desired rule(s) and define the criteria.
Click Save.
You can stack multiple rules to refine visibility further.
Use purchase history to recommend categories or products.
Target returning users or logged-in customers with loyalty messages or offers.
Leverage Shopify tags for exclusive blocks (e.g., B2B pricing).
Hide outdated content using app version-based visibility.
Use the Preview on device option in the Appbrew dashboard to simulate different user states.
Test with different tags, login states, or dummy accounts to verify block behavior.
Can I apply these conditions to every block?
Yes, personalization is supported for every block in the Appbrew builder.
Are these conditions evaluated on the backend?
No, these are client-side rules for performance and flexibility.
What happens if none of the conditions match?
The block will not render for the user.
Read our deep-dive: Personalization Blog