Skip to content
ActionActiveCampaignUpdated May 2026

How do I apply a tag to a contact in ActiveCampaign?

Short answer: Drop the "ActiveCampaignAdd Tag to Contact" action anywhere in your workflow, map the inputs from upstream nodes, and publish.

Inputs

The fields this action accepts.

Every field can be mapped from an upstream trigger, AI step, table row, or hard-coded literal.

FieldTypeRequiredDescription
Contact ID
contact_id
stringRequiredContact ID. Example: 123
Tag ID
tag_id
stringRequiredTag ID. Example: 5
Sample request
{
"contact_id": "e.g. 123",
"tag_id": "e.g. 5"
}
Returns
{
"contactTag": {
"id": "789",
"tag": "5",
"contact": "123"
}
}

Use these fields in downstream nodes for routing, logging, or error handling.

Triggered by

Apps that pair well as the trigger for Add Tag to Contact.

Any of these apps can fire this action as part of a workflow.

FAQ

Questions about Add Tag to Contact.

What does the Add Tag to Contact action do in ActiveCampaign?
Applies a tag to a contact — auto-creates the tag if it doesn't exist yet, which makes it forgiving for workflow setup but easy to fragment your tag taxonomy. Maintain a canonical tag list (in a Notion doc or workflow constant) to avoid "Customer", "customer", "Customers" all coexisting.
What inputs does Add Tag to Contact require?
Required: Contact ID, Tag ID. Every input accepts a static value or a variable from any upstream node in your workflow.
Can I use dynamic inputs from earlier workflow nodes?
Yes. Any field on this action can pull values from upstream nodes, whether that's a form response, a trigger payload, an AI output, or a lookup result.
What happens if ActiveCampaign returns an error?
The workflow pauses on the failed node, the error message is captured in the run log, and you can retry the run with one click. Auto-retry policies are configurable per workflow with exponential backoff up to 5 attempts.
Does Add Tag to Contact support batch operations?
Yes. Run Add Tag to Contact inside a Loop node to process arrays. Tiny Command handles ActiveCampaign's rate limits automatically so you don't have to throttle manually.
More actions

Other ActiveCampaign actions.

Action
Add Contact to List
Subscribes an existing contact to a specific list. If the contact isn't in the system, this fails — use Create Contact first or the upsert pattern. List membership drives campaign targeting in ActiveCampaign, so this is how cross-app workflows hand off leads into AC's nurture flows.
Action
Create Contact
Creates a new contact with email, name, phone, and any configured custom fields. ActiveCampaign treats email as the dedupe key — repeated creates with the same email update the existing record. For "auto-add new leads from upstream" workflows, this is the entry point.
Action
Delete Contact
Hard-deletes the contact and all associated history (campaign engagement, automation state, list memberships). Irreversible — for GDPR right-to-erasure workflows or compliance cleanups. For soft removal (suppress without erasing history), use Unsubscribe or remove from all lists instead.
Action
Get Contact
Returns the full contact record by ID — standard fields, custom fields, current tags, list memberships, and recent activity if requested. The standard lookup before Update Contact or for enrichment workflows that need a snapshot of AC state for downstream decisions.
Action
List Automations
Returns every automation in the connected ActiveCampaign account with name, status (active, paused, draft), and the contact count currently in each. Useful for "where are my leads right now" audit workflows and for resolving automation IDs at workflow-build time.
Action
List Contacts
Paginated contact retrieval with filters for email, list membership, tag, status, and recently-modified time. For bulk-sync workflows that mirror AC into a warehouse or another CRM, use the timestamp filter to incrementally pull only the contacts touched since the last sync.

Send add tag to contact from your workflows.

Triggered by anything in the catalog. Free tier available. No credit card.