Your GTM stack should be code, not a spreadsheet

Sourcing, enrichment and outbound that survive someone leaving the team.

ERR_SPREADSHEET_OVERFLOW · 2026-10-12

A spreadsheet works until the second person edits it. Lead sourcing, enrichment, audience upload and campaign setup all have inputs, outputs and failure modes, which makes them a good fit for code.

One outcome, several steps

A good workflow is a short list of steps with a stable result. For example, deploying a paid campaign can run as:

  1. Verify the client and the ad account.
  2. Prepare the audience: import contacts, enrich them, hash emails, upload to the ad platform and wait until it is ready.
  3. Publish and deploy the landing page.
  4. Create the campaign, ad set, creative and ad, all paused.
  5. Read everything back from the provider.

Each step stores its provider IDs so the next step, or a retry, knows what already exists.

Evidence over claims

A step is not done because a call returned 200. It is done when the provider’s own state has been read back and matches. A paused campaign that links to the right landing page is evidence. A log line is not.

Humans keep the gates

Strategy, creative, launch and spend stay with a person. The workflow stops at the paused campaign and waits for approval. Automation does the repeatable work and hands over the decision.

One interface, two front ends

Put the operations behind one typed HTTP API. A dashboard and a CLI then call the same endpoints, so a task you do by clicking can also be scripted, and neither holds business logic of its own.

The goal is a pipeline you can inspect on a bad day, not a clever one.