Skip to content

Campaigns

A campaign is a folder for related posts — like a product launch or a weekly series — so you can keep them together and see how they did as a group.

Why use it

Instead of checking each post one by one, you bundle them under a campaign and get a single rolled-up view of how the whole effort performed.

Step by step

Create a campaign

Open the Campaigns area, click New campaign, give it a clear name (for example "Spring Launch"), pick a color, and save.

Attach posts to it

While you are writing a post in the composer, choose your campaign from the campaign selector. The post is now part of that campaign. You can do this for as many posts as you like.

Add it to existing posts too

Open a draft you already made, pick the campaign, and save. The draft now belongs to that campaign.

View the combined results

Open the campaign to see all its posts together, plus how many were published successfully and how many failed.

TIP

Use a clear name and a unique color so a campaign is easy to spot at a glance across your posts.

Good to know

  • A campaign is just a label that groups posts — it does not change when or where they publish.
  • Each campaign keeps a running count of how many of its posts published successfully and how many failed.
  • For impressions, engagement, and other combined numbers, open Campaign Performance.
For developers

Campaigns live under /api/v1/post-campaigns (GET list with search/status/page/perPage, POST create with { name, desc?, color?, status? }, PUT /:id, PATCH /:id/status, DELETE /:id). The model keeps explicit postSucceed / postFailed counters that are incremented when child posts publish or fail, not aggregated at read time. A post joins a campaign via its campaign field on POST/PUT /api/v1/posts; list a campaign's posts with GET /api/v1/posts?campaign=<id>. There is no dedicated campaign-analytics endpoint — roll-up metrics come from the counters plus /api/v1/analytics/posts-by-channel?campaign=<id> where supported.