Access levels

A level is a named condition on a customer’s Shopify tags, such as Gold for customers tagged gold. Rules, gates, badges and features point at levels, not at tags. Content stores the level’s slug, so renaming a tag or a label never touches a post.

RedeemID only reads tags. Something in Shopify adds and removes them; see Tagging customers with Shopify Flow.

Defining a level

Levels live on RedeemID → Access → Levels. Each one has:

  • A condition: one or more groups of tags. Each group matches any or all of its tags, and any one passing group grants the level. So “gold or (silver and annual)” is two groups.
  • Includes: other levels this one also opens. Gold can include Silver, so content for Silver members is open to Gold members too.
  • Badge colour, shown by the Access Badge block. The badge always carries the level’s label, so colour is never the only signal.
  • Wall copy: the message, call-to-action label and link that locked visitors see.
  • Members’ home: an optional page a member lands on after signing in from the home page or a plain login link. Signing in from an article still returns them to the article.

Tags are compared case-insensitively, as Shopify does. A group with no tags is ignored, and a level with no usable group grants nobody.

Two levels are built in: Public (everyone) and Signed in (any visitor signed in with Shopify).

Checking a level

The Levels tab shows a health check and how many customers match each level. The Overview checklist also compares each level’s tags with the tags Shopify’s customers actually have, and lists any tag no customer has. That is usually a typo.

The Test tab shows what any viewer gets for any item: a guest, a level, a set of tags or a real user.

Levels in code

The redeemid_access_levels filter can define levels in code instead. Keys are slugs:

add_filter( 'redeemid_access_levels', function ( array $levels ) {
	$levels['gold'] = [
		'label'    => 'Gold',
		'groups'   => [ [ 'tags' => [ 'gold' ], 'match' => 'any' ] ],
		'includes' => [ 'silver' ],
	];
	return $levels;
} );

When the filter changes the saved levels, the Levels tab stops saving edits and says the levels are managed in code.

What a level does not do

A level never grants access on its own. It passes only while Shopify’s tags say so, and access changes only when Shopify sends new tags. Guests, unlinked accounts, customers disabled in Shopify and customers never synced fail every level.

RedeemID is still being built

RedeemID is a WordPress plugin that lets customers sign in with their Shopify account and opens your site to what that account holds. It is in early development, so parts of this site are unfinished and details will change.

It is coming soon. We are looking for sponsors and for the first stores and publishers to use it.

For more information, email vinny@vinnysgreen.com.

Get in touch