All guides
HubSpotHow-To

How to Bulk Add Tags in HubSpot

By SearchReplace··8 min read

Tagging is one of those HubSpot features that works perfectly when you have a dozen records and becomes a real problem at scale. Adding a tag to a single blog post takes three clicks. Adding the same tag to 200 blog posts takes 600 clicks and a lot of patience. HubSpot does not offer a "select all and add tag" function for most object types, and the workarounds range from tedious to fragile.

This guide covers the different types of tags in HubSpot, where bulk tagging falls short, and the practical approaches for tagging at scale.

Understanding tags in HubSpot

HubSpot uses the concept of "tags" differently depending on the object type. This distinction matters because the approach to bulk tagging varies by context.

Blog post tags

Blog tags in HubSpot are a dedicated tagging system under Content > Blog. Each post can have multiple tags, and tags are used for organizing content, generating tag-based listing pages, and filtering in the blog editor.

To add a tag to a single blog post, you open the post editor, click Settings, and type the tag name in the Tags field. To add a tag to multiple posts, you have to open each one individually. There is no multi-select tag operation in the blog post list view.

Contact and company tags (via properties)

HubSpot contacts and companies do not have a native "tag" system. Instead, most teams use one of two approaches:

Multi-select properties. Create a custom property of type "Multiple checkboxes" and use the options as tags. For example, a "Contact Tags" property with options like "VIP," "Partner," "Event Attendee," and "Beta Tester."

Single-line text properties with delimiters. Some teams use a text field and store comma-separated values like "VIP, Partner, Event Attendee." This is more flexible but harder to filter on and prone to formatting inconsistencies.

Deal and ticket tags

Same approach as contacts. HubSpot does not have native deal or ticket tags. You create custom properties and use them as a tagging system.

Why bulk tagging is painful in HubSpot

The core problem is that HubSpot's bulk editing capabilities are limited in specific ways that make tagging difficult.

Blog posts cannot be bulk edited at all. The blog post list view has no bulk actions beyond publishing/unpublishing and deleting. You cannot select multiple posts and add a tag to all of them.

CRM bulk edit sets, but does not append. For contacts, companies, deals, and tickets, you can select records in the list view and use the "Edit" button to set a property value. But for multi-select properties, this replaces the existing value rather than appending to it. If a contact has tags "VIP" and "Partner" and you bulk-set the tag to "Event Attendee," you lose "VIP" and "Partner."

This is a critical limitation. Bulk edit in HubSpot is a "set" operation, not an "add" operation. For tagging, you almost always want to add a new tag while preserving existing ones.

Workflows can append, but setup is heavy. You can create a workflow that sets a multi-select property to a specific combination of values. But workflows require enrollment criteria, and you need to know which contacts should be enrolled. If you want to add a tag to a specific list of records, the workflow approach works but requires:

  1. Creating a list of the target records
  2. Building a workflow enrolled from that list
  3. Setting the property action to include the new tag plus all existing possible tags
  4. Running the workflow
  5. Cleaning up the workflow and list afterward

For a one-time tagging operation, this is a lot of overhead.

Approaches for bulk tagging

For blog posts

Option 1: Manual tagging. If you have fewer than 30 posts to tag, just do it manually. Open each post, add the tag, save. It is tedious but takes less time than setting up an automated approach.

Option 2: HubSpot CMS API. Use the Blog Posts API (GET /cms/v3/blogs/posts) to fetch posts, then PATCH each one to add tags. You will need to get the tag ID first using the Blog Tags API. This works well if you are comfortable writing scripts, but requires handling pagination and rate limits.

Option 3: Find and replace on tag-adjacent content. If the reason you are tagging posts is to fix an existing tag (e.g., renaming "Product Updates" to "Product News"), a find-and-replace on the tag name is the fastest approach. This applies the change across all posts that already have the old tag.

For CRM records (contacts, companies, deals, tickets)

Option 1: Import with tag values. Export the records you want to tag, add the tag value in the tag column of your spreadsheet (making sure to preserve existing tag values), and re-import. This works but is risky — a column mapping error can overwrite existing tags.

Option 2: Workflow with append logic. Create a workflow that uses a custom code action (HubSpot Data Hub (formerly Operations Hub) Professional required) to read the current tag value, append the new tag, and write it back. This preserves existing tags and works at scale, but requires coding ability.

Option 3: Bulk find and replace on tag properties. If you are using a text-based tag property (comma-separated values), you can use a find-and-replace to modify tags across many records. For example, to add "Event-2026" to all contacts who have "Event-2025," you would search for "Event-2025" and replace with "Event-2025, Event-2026."

This is a targeted approach. It works when you want to add a tag to records that share an existing tag value. Combined with HubSpot list filtering (to narrow down which records are affected), it handles most bulk tagging scenarios.

Practical examples

Example 1: Tagging all contacts from a specific event

You ran a conference booth and collected 500 business cards. The contacts are already in HubSpot (imported or entered during the event). You want to add the tag "INBOUND-2026" to all of them.

Approach: Create a list of contacts from the event (filter by "Create Date" around the event dates and import source). Export the list. Add the tag to the tag property column in the spreadsheet, being careful to preserve any existing tags. Re-import.

Alternatively, if all these contacts were imported with a specific value in another field (like a hidden form field or import batch ID), you can use a workflow to add the tag based on that criteria.

Example 2: Renaming a tag across all records

Your team has been using "MQL" as a tag, and you are renaming it to "Marketing Qualified" for clarity. This needs to change across every contact that has the tag.

Approach: Run a find-and-replace operation. Search for "MQL" in the tags property, replace with "Marketing Qualified." Preview the changes to make sure you are not catching false positives (e.g., a company called "MQL Analytics"). Apply the replacement.

Example 3: Adding a tag to all blog posts in a category

You are restructuring your blog and want to add the tag "Getting Started" to every post that is currently tagged "Beginner."

Approach: Use the HubSpot Blog API to fetch all posts with the "Beginner" tag, then update each one to add the "Getting Started" tag. Alternatively, if your blog post content has a consistent marker (like a "Beginner" label in the body), you can use that as a search pattern.

Best practices for tagging in HubSpot

Use multi-select properties, not text fields. Multi-select properties give you clean filtering in lists, consistent values (no typos), and proper reporting. Text-based tags are flexible but become a formatting nightmare at scale.

Document your tag taxonomy. Keep a living document that lists every tag, its definition, and when to use it. Without documentation, team members will create variations ("VIP," "vip," "VIP Customer," "Key Account") that fragment your data.

Keep tag counts manageable. If your tag property has more than 20-30 options, it is probably trying to do too much. Consider splitting it into multiple properties (e.g., "Lead Source Tags" and "Engagement Tags" instead of one overloaded "Tags" field).

Audit tags quarterly. Check for tags that are no longer relevant, tags with very few records (which may be duplicates of other tags), and tags with inconsistent naming. Clean these up before they proliferate.

Prefer structured data over tags when possible. Tags are useful for flexible categorization, but if a data point has a clear, fixed set of values, use a dropdown property instead. Dropdown properties are easier to report on and harder to mess up.


Renaming or restructuring tags across your HubSpot portal? SearchReplace lets you find and replace tag values across thousands of records in a single operation.

Related HubSpot guides for planning, previewing, and validating the next step.

Still editing HubSpot records one by one?

Start with 100 free applied records — no credit card required.