Skip to content

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

Need the click path?

The help center covers where to click, step by step, for every system.

Open the help center