Social Tags Setup
Manage post tags for filtering and reporting across your social media content. Tags let you label posts by campaign, theme, client, or any custom grouping. This quick-start covers authentication, retrieving tags, and applying them to posts.
Prerequisites
Before making your first Social Tags call, confirm you have:
- A GoHighLevel sub-account with the Social Planner feature enabled
- Access to Settings > Integrations > Private Integrations in your sub-account
- A REST client such as Postman, Insomnia, or
curlin your terminal - Your sub-account’s
locationId(found in Settings > Business Profile)
Tags are typically created and managed through both the GHL dashboard and the API. You can start with no tags and create them through the batch endpoint.
Set Up Authentication
All Social Tags endpoints require a Private Integration Token (PIT) with the social-media-posting scope.
Navigate to Settings > Integrations > Private Integrations. Click Create New Integration, name it “Social Tags API,” and enable the social-media-posting scope. Click Save and copy the generated token.
Pass this token in the Authorization header as a Bearer token. Set your base URL to https://services.leadconnectorhq.com. Include the Version: 2021-07-28 header.
Make Your First Call
Start by listing all tags for your location:
GET /social-media-posting/tags?locationId=your-location-id
Authorization: Bearer {your-pit-token}
This returns all tags available in your sub-account. Each tag includes an id and name field.
To create multiple tags at once, use the batch endpoint:
POST /social-media-posting/tags/batch
Authorization: Bearer {your-pit-token}
Content-Type: application/json
{
"locationId": "your-location-id",
"tags": [
{ "name": "Q1 Campaign" },
{ "name": "Client Spotlight" },
{ "name": "Product Launch" }
]
}
The batch endpoint is efficient for setting up your tag structure in one call rather than creating tags individually. You can then assign these tags to posts by including tag IDs in the POST /social-media-posting/post request body.
Handle the Response
A successful GET /social-media-posting/tags call returns a 200 status:
{
"tags": [
{ "id": "tag-001", "name": "Q1 Campaign" },
{ "id": "tag-002", "name": "Client Spotlight" },
{ "id": "tag-003", "name": "Product Launch" }
]
}
The batch create endpoint returns a similar array with the newly created tags and their generated IDs. Store these IDs to assign tags when creating or updating posts.
Common errors: 400 on the batch endpoint means the tags array is empty or a tag name is missing. 401 means your token is invalid. 409 may occur if you attempt to create a tag with a name that already exists. Duplicate tag names are not allowed within a single location.
Test Your Setup
Run through this checklist to confirm everything works:
- List existing tags with
GET /social-media-posting/tagsand note any existing entries - Create 2-3 test tags with
POST /social-media-posting/tags/batch - List again to confirm the new tags appear in the results
- Create a post with
POST /social-media-posting/postthat includes tag IDs from the list - Search posts by tag using Social Post Search to verify tag filtering works
If batch creation fails, check that tag names are unique strings and that the tags array is properly formatted.
Next Steps
Read the full Social Tags Guide for tag management strategies across multi-location accounts. From here, explore Social Categories for another layer of content organization and Social Post Search for filtering posts by tags.