Overview
- Rule-driven categories - each category (payments, lifecycle, attendance, and so on) has its own rules and its own on/off switch.
- Automatic and continuous - tags update reactively when something changes for a contact, nightly as a backstop, and on demand with Sync tags.
- Tiered - most categories give a contact at most one tag (the highest matching tier); Interest and Relationship can apply more than one.
- Interchangeable with manual tags - anything that filters or segments on a tag (promotions, automations, analytics) treats smart and manual tags the same.
- Scoped to the right audience - staff never get smart tags, archived contacts are frozen, and leads only pick up demographic tags until they become members.
How it differs from manual tags
You can attach two kinds of tags to a contact:
Both types behave identically when you filter or segment. A promotion that targets “Overdue” works the same whether that tag is manual or smart.
Who gets smart tags
The engine treats contacts differently depending on what they are:- Members (contacts with bookings or memberships) are eligible for every enabled category.
- Leads (contacts with no activity yet) only receive the demographic and lifecycle-of-contact categories: Age, Contact stages, Relationship, and Language. The activity-based categories (Attendance, Financial, Lifecycle, Loyalty, Membership, Interest) don’t apply until the lead becomes a member.
- Staff (instructors, managers, admins) never receive smart tags. Any auto-tag they picked up before becoming staff is stripped on the next evaluation; their manual tags are kept.
- Archived contacts are frozen - their tags stay as a snapshot and are not recomputed.
Categories
Each category has an Enable this tag category switch. Within a category, a contact gets at most one tag - the highest matching tier - except Interest (one tag per qualifying sport) and Relationship (a contact can be both Parent and Child). Disable a category and every tag it produced is removed on the next sync. The categories below are listed in the order they appear on the page. Four are enabled out of the box: Financial, Lifecycle, Membership, and Contact stages.Financial (enabled by default)
Flags members with unpaid or overdue payments. Each tier defines the minimum number of days a payment can be overdue before the tag applies. Defaults:- Unpaid - owes money, but nothing is past due yet (at least one pending, failed, or overdue transaction dated today or later).
- Past Due - a payment is 1+ day overdue.
- Overdue - a payment is 7+ days overdue.
Lifecycle (enabled by default)
Tracks how long a member has been with you, counted from the start date of their first membership. Requires an active membership, so a lapsed member drops out of the category. Defaults: Trial (day 1+), Probation (day 15+), Active (day 46+). The field is labelled Min Days Since First Membership.Membership (enabled by default)
Monitors where a member sits relative to their membership expiry date. A positive value means days before expiry; a negative value means days after. Defaults: Expiring (7 days before), Expiring Soon (3 days before), Expired (7 days after). Two behaviours worth knowing:- Before-expiry tiers only match memberships that are active and not auto-renewing. An auto-renewing membership is never flagged as expiring, because it isn’t going to lapse.
- After-expiry tiers only apply when the member has no active membership at all.
Loyalty (disabled by default)
Ranks members by total lifetime activity (bookings + check-ins). Use it for tenure-style recognition, in contrast to Attendance, which measures recent engagement. Defaults: Legend (50+), Champion (25+), Pro (10+), Rising Star (5+), Beginner (fewer than 5). The field is labelled Minimum Activity.Attendance (disabled by default)
Groups members by how often they check in over a recent window. Each tier defines a Minimum Visits count and a Period (Days). Defaults: All-Star (16+ visits / 30 days), Regular (8+), Casual (4+), Low Activity (1+), Inactive (0 in the period). Thresholds and periods are fully editable.Age (disabled by default)
Tags members by age group from their date of birth. Each tier has a Min Age and Max Age. Defaults: Infant (0-4), Kid (5-12), Junior (13-17), Adult (18-64), Senior (65+). Edit the bounds to match how you market and price.Contact stages (enabled by default)
Tags contacts by how recently they were added - useful for spotting fresh leads. The field is Max Days Since Created. Default: New (within 14 days).Relationship (disabled by default)
Tags members by their household role. Household owners and adults are tagged as parents; dependents are tagged as children. This category has two fixed tags - Parent and Child. You can only edit their display name and colour; there are no thresholds and you can’t add or remove tiers. A contact can carry both if, for example, they’re an adult in one household and a dependent in another. It applies to leads as well as members.Language (disabled by default)
Tags members by their preferred language, taken from their linked account profile. There’s one fixed tag per supported locale: English, Español, Français, Deutsch, Български, Čeština. As with Relationship, you can only edit the display name and colour - not the locale mapping - and you can’t add or remove rows. A contact with no linked user account (a walk-in or lead who never registered) has no known language and receives no language tag.Interest (disabled by default)
Sport-by-sport tags applied to members who’ve booked the same sport at least N times. Tags are generated dynamically, one per sport that crosses the threshold, so a member can hold several interest tags at once. The field is Minimum Bookings per Sport (default 3). Use these to target audiences with offers relevant to what they already do - for example, a padel-only promotion for members tagged with the padel interest.Engagement scoring (disabled by default)
Sitting at the bottom of the same page, engagement scoring is a related feature rather than a tag category. When enabled, it computes a member engagement score from four weighted inputs - Financial, Services, Physical, and Engagement - whose weights must sum to 100%. The score surfaces on the member engagement view; it doesn’t create tags.Configuring rules
- Go to Settings → Smart tagging.
- Stay on the Smart tags tab (the Manual tags tab manages plain manual tags).
- For each category:
- Toggle Enable this tag category on or off.
- Edit a tier - adjust the threshold (visits, days, age range, and so on) and rename or recolour the tag.
- Add a tier with Add tag (not available for Relationship, Language, or Interest, whose rows are fixed or derived).
- Delete a tier you don’t need (the fixed Unpaid, Parent/Child, and language rows can’t be deleted).
- Save with the floating save alert at the bottom of the page.
How and when tags are kept in sync
Smart tags are recomputed:- Reactively, on the events that could shift a tag - when a contact is created, a membership is created or cancelled, a payment succeeds or fails, a booking is created, cancelled, marked no-show, or checked in, or a member has a birthday. The affected contact is re-evaluated right away.
- Nightly, as a backstop, for every contact in the organization (runs at 03:00 UTC). This is what catches purely time-based transitions - a membership crossing its expiry window, a lead ageing past “New”, a household-role change.
- On demand, via the Sync tags button on the Smart tagging page. It re-evaluates everyone and reports how many members were updated.
Where smart tags show up
Smart tags behave exactly like manual tags wherever tags are consumed:- Member lists - filter the list by tag; a tag chip tells you whether it’s manual or smart.
- Contact profile - both kinds appear in the same Tags section.
- Promotion segments - restrict a voucher or discount to contacts carrying specific tags.
- Automations - use tags in entry conditions to control which contacts a workflow runs for.
- Reports and analytics - break KPIs down by tag to compare cohorts (for example, revenue from “Regular” vs. “Overdue”).
Editing tags on a contact
You cannot add or remove a smart tag on a single contact from their profile. A smart tag is the output of a rule, so the engine would just put it back (or take it off) on the next evaluation. To change who has a tag:- Change the rule under Settings → Smart tagging (this affects every contact).
- Or, to flag one person, use a manual tag instead - manual tags can be added and removed per contact at any time.
Renaming or disabling categories
- Renaming a tier updates the tag name across every contact that has it.
- Disabling a category removes every tag in that category from every contact on the next sync.
- Re-enabling a category re-applies its tags on the next sync.
- Deleting a tier removes it from contacts that currently have it (next sync) and leaves the rest of the category intact.
Worked examples
Racket-sports club: fill courts and chase renewals
A padel and tennis club wants to market by sport and keep courts busy.- Enable Interest (Minimum Bookings per Sport = 3) so regulars pick up padel and tennis interest tags. Target a padel-night promotion at the padel tag only.
- Enable Attendance to separate court regulars (“Regular”, “All-Star”) from members who are slipping (“Low Activity”, “Inactive”).
- Keep Membership on and pair the “Expiring Soon” tag with a renewal discount.
Martial-arts school with a kids’ programme
A jiu-jitsu and muay-thai academy runs junior classes and family memberships.- Enable Age so juniors (13-17) and kids (5-12) are tagged automatically for age-appropriate class messaging.
- Enable Relationship to tag Parent and Child from household accounts, so you can message parents about their dependents’ progress.
Pilates/yoga studio: recover payments and reward loyalty
- Leave Financial on and build an automation that messages the “Overdue” segment before it becomes “Overdue” at 7 days.
- Enable Loyalty to recognise long-standing members (“Legend”, “Champion”) with perks.
Multi-language community gym
Enable Language so members are tagged by their preferred locale (for example Español or Français), then send each promotion in the right language by segmenting on the language tag.Tips & best practices
- Start with the defaults. Financial, Lifecycle, Membership, and Contact stages are on out of the box because almost every club needs them. Add Attendance, Loyalty, Interest, and the demographic categories as you’re ready to act on them.
- Use Attendance for short-term campaigns and Loyalty for long-term recognition. They answer different questions: “who’s gone quiet recently?” vs. “who’s been with us the longest?”
- Don’t duplicate categories with manual tags. If you find yourself hand-tagging members “Overdue”, adjust the Financial thresholds instead.
- Remember auto-renewing memberships never show “Expiring”. If you rely on the Membership tags for renewals, they target non-auto-renewing plans.
- Re-check thresholds periodically. What counted as “Regular” attendance a year ago may not match how your club runs today.
Troubleshooting
Issue: A member isn’t getting an activity tag (Attendance, Financial, Loyalty, and so on). Cause / fix: The contact is still a lead with no bookings or memberships, so only demographic categories apply - or the category is disabled. Confirm they have activity and the category is on. Issue: A member has no Language tag. Cause / fix: The tag comes from a linked account’s preferred language. A contact with no linked user account (a walk-in or unregistered lead) can’t be tagged. Also confirm the Language category is enabled. Issue: A member isn’t tagged “Expiring” even though their membership ends soon. Cause / fix: Auto-renewing memberships are never flagged as expiring. The before-expiry tiers only match active, non-auto-renewing memberships whose end date falls inside the window. Issue: A staff member has no smart tags. Cause / fix: That’s by design - staff are excluded from smart tagging entirely. Issue: I changed a threshold but tags didn’t update. Cause / fix: Reactive re-evaluation fires on data changes, not rule changes. After a rule change, click Sync tags to apply it now, or wait for the nightly run at 03:00 UTC.Related
- Members - where tags are surfaced and used.
- Promotions - restrict offers to specific tags via segment filters.
- Marketing analytics - break down performance by member segment and view engagement scores.