Free for 30 days on Scale.Start free
Run6 stepsOngoing, ~2 hr/week + 4 hr at quarter end

Marketing campaign tracker, quarterly cycle

A quarterly-cycling workspace where every live marketing campaign has one row, the Monday memo writes itself, budget overruns surface before they become embarrassing, and quarter-end produces an honest list of what to keep / kill / double down on.

A quarterly-cycling workspace where every live marketing campaign has one row

A quarterly-cycling workspace where every live marketing campaign has one row, the Monday memo writes itself, budget overruns surface before they become embarrassing, and quarter-end produces an honest list of what to keep / kill / double down on.

Spin up an agent for the heavy lifting

Your data agent (yours) pulls KPIs from connected sources every Monday morning (Google Ads, GA, your CRM, X analytics), updates the KPIs row for each campaign.

6 steps, 0 official links, 3 agent prompts

Every external doc the agent needs to cite is pre-loaded into the workspace's Pointers table. No hunting for the right URL mid-draft.

What's inside

Pre-loaded so day one is execution.

6Surfaces
6Steps
3Agent prompts
4Tools mapped
Surfaces
  • tableCampaigns
  • tableKPIs
  • tableBudget
  • docMonday memo
  • docQuarter retro
  • docStatus
How the loop works

Your agent works. Dock shows you what happened.

Open this template and you get a workspace seeded with an agent prompt. Connect your agent — Claude via our MCP, Cursor, your own setup — and it reads, drafts, and posts updates as it goes. You watch Dock for the latest.

  1. 01

    Connect your agent

    Claim an agent invite at trydock.ai/agent-invites — your agent gets an API key scoped to this workspace. Paste the key into Claude Desktop, Cursor, or any MCP client.

  2. 02

    Your agent reads the workspace

    The agent prompt at the top of the workspace tells your agent its role, the cadence to follow, and the surfaces to update. No extra setup — open Dock and your agent already knows what to do.

  3. 03

    Watch Dock for the latest

    Your agent posts to the Status surface after every meaningful action — newest at top. Wire the workspace's webhooks to Slack or email to get pinged in real time.

Wire it up · Claude Desktop

Add Dock as an MCP server in 30 seconds.

{
  "mcpServers": {
    "dock": {
      "command": "npx",
      "args": ["-y", "@trydock/mcp"],
      "env": {
        "DOCK_API_KEY": "<paste from /agent-invites>"
      }
    }
  }
}

Drop into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or the equivalent on Windows / Linux. Restart Claude Desktop. Ask Claude:“Read trydock.ai/<org>/marketing-campaign-tracker and follow the agent prompt.”

FAQ

Common questions on this template.

Is this for paid ads or organic campaigns?
Both. Campaigns table has a `channel` column with values like paid_search, paid_social, content, partner, lifecycle, organic_social, SEO, PR. The data sources change (Google Ads for paid, GA for organic) but the cycle is identical: weekly KPI snapshot, Monday memo, quarterly retro. Mixed-channel teams get the most value because the comparison across channels happens in one workspace instead of three dashboards.
How does the agent know my attribution model?
It doesn't, you tell it. The Campaigns.notes field is where you lock the attribution rule per campaign: 'first-touch within 30 days', 'last-touch UTM', 'self-reported in signup form'. The agent uses what you wrote when it computes signups. If the rule changes, update the notes field; the agent re-reads it next Monday.
What if my CRM doesn't have an MCP server?
Use manual entry for that source. The agent prompts you each Monday with the specific numbers it needs ('Last week's HubSpot lead count for campaign X: ___'). It's slower than auto-fetch but still beats no tracker. The MCP ecosystem is growing fast; check the Pointers surface for a list of marketing tools with MCP servers, the workspace updates it.
Can my agent decide which campaigns to kill?
No, by design. The agent surfaces candidates with data; humans decide. Marketing budget calls are judgment under uncertainty, attribution is messy, brand effects compound over multiple quarters. If the agent had kill authority, it would over-prune the long-cycle brand investments that look bad at week 6 and great at week 26. The retro proposes; the team decides.
Why quarterly forking instead of annual?
Marketing strategy is faster than that. A quarter (13 weeks) is enough data to evaluate paid campaigns, content series, and most launches. Annual cycles produce a workspace with too much history for the agent's context window and too long a feedback loop for the team. Quarterly forking keeps the retro horizon sharp and the working set fast.

Open it. Hand it to your agent. Ship.

One click mints a fresh workspace in your org with the template body seeded. Your agents, your team, your edits from there.

About this template

Curated by the Dock team at . Every template is a real shared workspace we run with our own agents before publishing.

Reviewed regularly by the Dock team. Each playbook step links to the upstream tool's official docs so we can re-verify the rules as platforms change.