For the complete documentation index, see llms.txt. This page is also available as Markdown.

Tag-based membership tiers

Run a secondary loyalty program granted by a Shopify customer tag: an invite-style tier alongside your milestone tiers for paid memberships, VIPs, staff, or app-driven cohorts.

Milestone tiers reward what customers do: points earned, amount spent, or an item purchased. A tag-based tier works differently: membership is granted by a Shopify customer tag. Whoever carries the tag is in the tier; remove the tag and they return to your regular tier ladder.

That makes it the tool for tiers that aren't earned through activity:

  • Paid memberships: a membership product purchase applies the tag (via Shopify Flow or subscription auto-tagging).

  • VIPs, ambassadors, and staff: hand-picked members, tagged manually or in bulk.

  • Cohorts: a specific groups of customers you are looking to run specific offers and marketing to.

You can have one tag-based tier per program, running alongside your milestone tiers as a secondary track.

Set it up

Go to Loyalty Program → Membership Tiers and add or edit a tier. Under Milestone to achieve tier, choose Secondary loyalty program: membership is granted by a Shopify customer tag instead of points or spend.

  • Trigger tag: customers carrying this Shopify tag are granted this tier.

  • Lifetime membership (membership and points never expire): when enabled, this tier and the points earned in it are excluded from expiry. Ideal for paid memberships where points should never lapse mid-membership.

Set the Tier name and Tier level as usual. This tier cannot be promoted or demoted: customers keep it for as long as the trigger tag is assigned.

How customers enter

Apply the trigger tag to the customer in Shopify (manually, via Flow, or from another app). Roadmap then:

  • assigns the customer to the tag-based tier immediately

  • removes their previous tier's program tag automatically, so tags never conflict

  • sets their new membership start date (using your store's timezone) and removes any expiry date (tag-based tiers do not expire).

  • Any loyalty points that customer already had before entering this tier remain. However, they will still expire per the terms applied when the points were earned.

  • logs the promotion on their timeline

What tag-based members see

  • Ways to earn and ways to redeem scoped to their tier. Use the Membership tier eligibility setting on earners and rewards to build the tier's own earning rates and redemption options. Members only see what their tier is eligible for.

  • No progress bar. The Loyalty Progress Bar app block hides itself for tag-based members, since milestone progression doesn't apply to them.

  • Klaviyo properties adjust. Progression and expiry properties are cleared, everything else keeps syncing. See the breakdown below.

Klaviyo properties for tag-based members

A tag-based tier has no "next tier" and no membership expiry, so those Klaviyo profile properties are cleared while the customer holds the tier:

Cleared
Klaviyo property

Next tier name

person.roadmap_loyalty_next_tier_name

Points away from next tier

person.roadmap_loyalty_next_tier_points

Membership expiry date

person.roadmap_loyalty_expiry_date

Everything else remains and keeps syncing as normal:

Remains
Klaviyo property

Total points earned

person.roadmap_loyalty_total_points

Total points earned in period

person.roadmap_loyalty_total_points_earnt_in_period

Total points expiring in next 30 days

person.roadmap_loyalty_expiring_points

Current tier name

person.roadmap_loyalty_current_tier_name

Has Membership account

person.roadmap_has_account

Total spent in period

person.roadmap_total_spent_in_period

Birthday

person.roadmap_loyalty_birthday

Member since

person.roadmap_loyalty_member_since

Membership start date

person.roadmap_loyalty_start_date

Next point expiry date

person.roadmap_loyalty_point_expiry_date

Points expiring on next expiry date

person.roadmap_loyalty_next_expiring_points

Latest order points earnt

person.roadmap_loyalty_latest_order_points_earnt

Worth knowing when building flows and segments:

  • roadmap_loyalty_current_tier_name holds the tag-based tier's name, so Klaviyo splits and segments on tier name keep working for these members.

  • The period counters (points earned in period, total spent in period) restart from the customer's new membership start date.

  • With Lifetime membership enabled, points earned inside the tier never expire, so the point-expiry properties only reflect points the customer earned before joining the tier.

Tier-specific cart messages

The Edit Membership Tier form includes a Cart announcement bar card. Give the tier its own Message and members of this tier see it in the cart bar instead of the bar's default message. Click the snippet chips to personalise it: {amount}, {total_points}, {cart_points}, {current_tier_name}, {next_tier_name}, {points_required}, {amount_required}. Snippets with no value behind them are removed from the message, so keep next-tier wording out of your top tier's message.

Leave the field blank to use the default bar, configured in Cart Announcement Bar settings.

How customers exit

Remove the tag, and Roadmap recalculates the customer into your milestone ladder:

  • Their start date refreshes to todays date and their current period's points or spend decide which milestone tier they land in. If nothing qualifies, they hold no tier.

  • Their tier tags update to match, and the change is logged on their timeline.

So a lapsed paid member, for example, drops back to exactly the tier their organic activity has earned. Nothing needs manual cleanup.

The tag is the single source of truth: apply it to enrol, remove it to exit. Whatever system controls the tag (Flow, a membership app, your team) controls the tier.

Last updated