Guide
Tagging Guide
How tags work in Amplify, the standard every account ships with, and what not to do.
- Guide
- For Amplify subscribers
- Updated September 2026
Internal standard. Last updated September 12, 2026. Companion to the help center article "How to Use Tags to Organize Your Contacts". The article tells you what to do. This page tells you what we build, what we seed, and what we protect.
The one rule
A tag answers a yes or no question about a contact, and its name says which question. source-google asks "did this person find us on Google?" Anything that holds a value belongs in a custom field. Anything with an order belongs in a pipeline.
Every tag in an Amplify account falls into one of the categories below, or it is a mistake.
Format
Lowercase letters, numbers, and hyphens. Nothing else.
No spaces, capitals, underscores, dashes other than a hyphen, slashes, ampersands, apostrophes, or emoji.
Category first, then the specific: source-google, service-roof-repair, imported-04-10-2026.
Full words, no codes or abbreviations. service-water-heater, not svc-wh. You read these.
Dates in MM-DD-YYYY.
Keep it under 30 characters. If it needs more, the tag is doing two jobs.
One meaning per tag. If you cannot say what it means in one sentence, do not create it.
The old snapshot convention (Title Case with a dash and spaces, system-code prefixes like CS and RR) is retired. It does not match what the automations write, and two styles in one account is how Past Customer and past-customer end up living side by side.
Tag categories
Six categories. The first four are for people. The last two belong to the system.
1. source- where the lead came from
Set once at intake and never removed. Fired by the automation that created the contact, not typed by a person.
| Tag | Fires when |
|---|---|
source-card-share |
Card Share™ form submitted |
source-smart-site |
Any Smart Site form submitted |
source-answer-agent |
Answer Agent™ created the contact from chat, text, or a call |
source-missed-call |
Rapid Responder™ created the contact from a missed call |
source-google |
Google Business Profile message or call tracking |
source-facebook-ad |
Meta lead form |
source-referral |
Set by hand when a customer sends someone |
source-walk-in |
Set by hand |
source-[list-name] |
Applied at import alongside the imported- tag, like source-constant-contact |
The contact record also has a Source field. Keep both. The field holds the raw value the form or channel passed in, which drifts and misspells. The tag is the clean channel name Campaign Engine™ and smart lists filter on. Add a new source- tag only when a new channel goes live.
2. service- what they asked about
One tag per service you sell, named to match the Smart Site page and the Google Business Profile category. The list comes from your onboarding form. We do not invent services you did not list.
Examples: service-roof-repair, service-roof-replacement, service-water-heater, service-panel-upgrade.
Applied by the intake form when the form has a service picker, or by the Answer Agent™ handoff, or by hand when the office logs a call. A contact can carry more than one. Never removed, because knowing someone asked about a water heater two years ago is the point.
3. imported- which upload they came from
imported-MM-DD-YYYY, applied to every contact in an import, paired with a source- tag for the system the list came out of. Never removed.
This is what lets us send a campaign to the old list only, or keep imported contacts out of Newsletter Welcome, since they are not new. If the import includes customers, add past-customer to those rows at the same time.
4. Flags, the short list of standalone tags
These are the only tags without a category prefix. They are reserved, they mean the same thing in every account, and the automations read them.
| Tag | Meaning | Who reads it |
|---|---|---|
past-customer |
Has paid for a job at least once | Review Booster™, Campaign Engine™ (customer versus prospect messaging), Nurture exit |
do-not-contact |
Asked not to be contacted, or a person decided | Every sending workflow skips this tag. Stop trigger on all sequences. |
review-left |
Left a public review | Review Request exit. Never ask again. |
test-contact |
Our test record | Excluded from every broadcast and from reporting |
Do not add a fifth flag without asking Nicholas. If it needs a prefix to make sense, it is not a flag.
do-not-contact is not the same as an unsubscribe or a text opt-out. Those are the do-not-disturb settings on the contact and your account enforces them. The tag is for the human reasons: the customer who fired you, the competitor, the lead who said "stop calling" on the phone. Set the tag and the do-not-disturb setting.
5. Workflow state tags, owned by the automations
Every multi-step sequence writes three tags. The pattern is the workflow name in lowercase with hyphens, plus one word for the state. This matches the sequence build standard exactly.
| Suffix | Fires when |
|---|---|
-active |
Contact enters the workflow |
-done |
Last step sends, or the contact exits for any reason |
-replied |
Contact replies on any channel while in the sequence |
-active is removed when -done is added. -done and -replied stay on the contact so we can see history.
Every sequence in the standard, with its tags:
| Workflow | Tags |
|---|---|
| Missed Call Text Back | missed-call-text-back-done, missed-call-text-back-replied |
| New Lead Reply | new-lead-reply-done, new-lead-reply-replied |
| Appointment Reminder | appointment-reminder-active, -done, -replied |
| No-Show Recovery | no-show-recovery-active, -done, -replied |
| Estimate Follow-Up | estimate-follow-up-active, -done, -replied |
| Nurture | nurture-active, -done, -replied |
| Reactivation | reactivation-active, -done, -replied |
| Newsletter Welcome | newsletter-welcome-active, -done, -replied |
| Review Request | review-request-active, -done, -replied |
One-step workflows (Missed Call Text Back, New Lead Reply) skip -active because there is no window to be in. Pipeline Updates and Team Notification write no tags at all. They move a stage or ping a person, and the record already shows that.
Extra state tags follow the same pattern and only when the sequence needs a branch: estimate-follow-up-verbal-yes.
People never type these. If someone adds estimate-follow-up-active by hand, the workflow's re-entry check breaks.
6. list- audience membership
For people who opted into a recurring send, not a one-time campaign. list-newsletter is the default and usually the only one. Add list-[name] only when you run a second recurring send with its own opt-in, like list-maintenance-reminders.
Campaign Engine™ broadcasts send to a list- tag or to a saved smart list, never to "all contacts." A broadcast audience built for one send does not get a tag. Build the smart list from source-, service-, and flags instead.
Tag, field, or pipeline
| The question | Use |
|---|---|
| Yes or no, and it does not change in order | Tag |
| Holds a value (address, birthday, roof age, quote amount) | Custom field |
| Where a job stands right now, moving one direction | Pipeline stage |
| Why a deal was lost | Pipeline lost reason, not a tag |
| Can we text or email them at all | Do-not-disturb settings, plus do-not-contact for human reasons |
Never tag what the record already tracks. Pipeline stage, appointment status, do-not-disturb, and lost reason all live in the record. A tag that copies them gives you two versions of the truth and one of them is always stale. quoted-no-answer is the classic mistake. That is the lost reason "No Response."
Who adds tags
| Who | Adds | Removes |
|---|---|---|
| Intake automations | source-, service- when the form has a picker |
Nothing |
| Sequences | Their own state tags | Their own -active |
| Import | imported-, source-, past-customer when known |
Nothing |
| Office staff | service- from a call, source-referral, source-walk-in, past-customer, do-not-contact, review-left |
do-not-contact only, and only if the customer asks |
| Earnworthy | Anything, during a build or a cleanup | Anything, after checking what reads it |
Your rule: you add flags and services by hand. You leave everything else alone.
What ships in the snapshot
Every Amplify install starts with these tags already created so nobody types a near-duplicate on day one.
source-card-share, source-smart-site, source-answer-agent, source-missed-call, source-google, source-facebook-ad, source-referral, source-walk-in
past-customer, do-not-contact, review-left, test-contact
list-newsletter
The state tags for every sequence installed in that account, created by the workflow build.
service- tags get created during onboarding from your service list. imported- tags get created at import.
Rules that protect the account
Check before you create. Type the first few letters in the Tags field and pick what is there. Four tags that mean the same thing is the most common mess we clean up.
Never rename a tag a workflow reads. A renamed tag counts as a new tag. Every trigger, filter, and "if contact has tag" condition pointing at the old name goes dead with no warning. If a name has to change, create the new tag, update every workflow that reads it, bulk-apply the new tag to everyone with the old one, test with a real record, then delete the old one.
Deleting a tag strips it from every contact with no undo. Before deleting anything, search Workflows for the tag name. Search smart lists too. If either turns up a match, stop and check with Nicholas.
Clients do not touch state tags or flags on a workflow. Message support first. When you do, we run the search above before saying yes.
Ten used tags beat sixty ignored ones. Cap new tags at what you can explain. Before asking for a tag, ask what you will send to it. No answer means no tag.
Twice a year, pull the tag list. Delete anything with zero contacts that no workflow reads. Merge near-duplicates. Do it at the six-month check-in so it is on a calendar, not a memory.
Build checklist addition
Add to every build and every onboarding review:
Every tag is lowercase with hyphens and starts with a category or is one of the four flags.
No near-duplicates exist in the account (search for each new tag before creating it).
Every sequence writes its state tags with the workflow's exact name.
do-not-contact and review-left are exits on every sequence that sends.
test-contact is excluded from every broadcast smart list.
Import contacts carry imported-MM-DD-YYYY and a source- tag.
Related
Guide
Getting Started With Amplify
What the seven systems do, where everything lives, how onboarding runs, and what your daily job looks like once you're live.
Amplify
Reference
Session Calendar
When we meet, where the replays live, and what each session is for.
Amplify · Multiply · Agency
Calendar
Email Marketing Calendar
Twelve months of Campaign Engine™ ideas so you never stare at a blank campaign again.
Amplify
Need the click path?
The help center covers where to click, step by step, for every system.
Open the help center