Marketing & Campaigns

How marketing plans, executes, measures, and reallocates across channels — especially during peak season — and how Balsam stays visible as search shifts to LLMs.

What this workflow is

How marketing dollars turn into customer acquisition at Balsam — and how the team stays visible as customer discovery moves from Google to LLMs.

ScopeDetails
StartCampaign strategy is set and budget is allocated across channels
EndPerformance is measured, budget is reallocated, and the cycle repeats
Peak concentration85% of revenue in the holiday window
Vendor platforms20–25 (Meta, Google, programmatic, OOH, etc.)
Reallocation cycle today~48 hours from signal to live execution
Team scopeMarketing, CRM, SEO/search, creative, data, international

The flow today

graph LR
    subgraph Planning
        STRAT[Campaign Strategy<br/>Post-season analysis]
        BUDGET[Budget Allocation<br/>ClickUp tracker<br/>20-25 channels]
    end

    subgraph Execution
        PAID[Paid Channels<br/>20-25 Vendor Platforms<br/>Meta / Google / OOH]
        CRM[CRM<br/>Email / SMS / Direct Mail<br/>Optimove]
        SEO[SEO / Search<br/>+ LLM visibility]
        CREATIVE[Creative Team<br/>SELTRA toolkits<br/>~600 assets per campaign]
        COUP[Coupons & Promotions<br/>Excel → Hybris<br/>Manual entry]
    end

    subgraph Measurement
        REPORTS[Vendor Reports<br/>20-25 separate dashboards<br/>Double-counting attribution]
        DATA[Data Team<br/>Manual aggregation]
        SIGMA[Sigma / Snowflake<br/>Daily business read<br/>~10am compile]
    end

    subgraph Optimization
        STANDUP[Daily Standup<br/>Signal detection<br/>Channel leads in silos]
        REALLOC[Budget Reallocation<br/>~48 hrs signal → execution<br/>ClickUp rebuild required]
    end

    STRAT --> BUDGET
    BUDGET -->|Channel plans| PAID
    BUDGET -->|CRM strategy| CRM
    BUDGET -->|Content brief| SEO
    BUDGET -->|ClickUp request| CREATIVE
    PAID --> REPORTS
    CRM -->|Engagement data| REPORTS
    REPORTS -->|Manual pull| DATA
    DATA --> SIGMA
    SIGMA -->|Compiled report| STANDUP
    STANDUP -->|Shift detected| REALLOC
    REALLOC -->|New spend| PAID
    REALLOC -->|New content needed| CREATIVE
    COUP -.->|Promotions applied| PAID
    COUP -.->|Promotions applied| CRM

    style REPORTS fill:#fecaca,stroke:#ef4444
    style DATA fill:#fef3c7,stroke:#f59e0b
    style REALLOC fill:#fef3c7,stroke:#f59e0b
    style COUP fill:#fef3c7,stroke:#f59e0b
    style CREATIVE fill:#dbeafe,stroke:#3b82f6

How it works

PhaseWhat happensPrimary tools
PlanningPost-season analysis sets strategy. CFO targets cascade into category budgets. Fixed vs. variable budget split. Spring BF used as testing ground.ClickUp
Execution — paid20–25 vendor platforms each run their own AI optimization.Meta, Google, programmatic, OOH
Execution — CRMEmail, SMS, direct mail catalog. International markets start lower funnel.Optimove
Execution — SEO & LLM visibilityAnnual content refresh (to avoid LLM citation decay), schema markup, product feeds per LLM platform, Reddit sentiment monitoring.Semrush, Search Console, Claude project, Clarity tool
Execution — creative~600 assets per campaign via SELTRA toolkits + Figma plugins. Marketing self-serves from templates.SELTRA, Figma
Execution — couponsExcel requests from across org → single person → manual commerce back-office entry.Excel, Hybris
MeasurementData team manually aggregates vendor reports into Sigma/Snowflake. Daily business read compiled by ~10am in peak.Sigma, Snowflake
OptimizationChannel leads surface signals in daily standup. Team debates, rebuilds ClickUp, notifies creative, activates new spend.ClickUp, standup

Where it gets stuck

FrictionWhat it looks like
48-hour reallocation cycleTwo days from signal to live execution during Black Friday. Each reallocation restarts the process.
No single source of truth on attributionVendor contributions sum to more than actual revenue. Every conversation starts with reconciliation.
Daily business read is manual~10am compile during peak. Automated could start informing decisions hours earlier.
No self-serve analytics for marketingReports flow through the data team. Sigma/Snowflake adoption is gradual.
LLM discoverability blocked by JS-heavy siteCategory and PDP content doesn’t render for AI crawlers. Q1/Q2 refactor in flight; HTML-duplicate workaround exists.
CMS blocks content localizationPages must be scraped to text files by hand to ship translation-ready sources.
Coupon pipeline is one person, one ExcelMiskeyed dates or codes hit live customers instantly. ~40% of one person’s time.
Campaign pivots reach ~600 assetsSale % or name changes flow through every asset and review board. Partial automation via templates.

What a cohort here works on

A cohort on Marketing & Campaigns partners with marketing, CRM, SEO, the data team, digital commerce, and creative to compress the loop from signal to action.

AudienceWhat better looks like
Internal customers (channel owners, CRM, SEO, creative, data team)Faster answers to questions they already ask. Self-serve access. Capacity back for strategic thinking.
External customers (new + returning shoppers in every market)The right message at the right moment in the channel they actually use. Discoverable on whichever platform they search on, today or next year.

Places a cohort finds traction:

  • Unified reporting layer across the channel platforms with a single attribution model
  • Daily read ready when the day starts instead of when it’s half over
  • Pre-built playbooks for the reallocation moves that happen every season
  • Self-serve analytics so channel owners can query directly
  • Coupon pipeline that doesn’t depend on one person at the keyboard
  • Content pipeline designed for LLM-era discovery (schema, structured content, product feeds, agentic checkout)
  • Brand-sentiment signal from Reddit and review data surfaced to the business
  • CDP built around the 40% of customers who return — so the long cycle on a $2–3K tree becomes a conversation

Get involved

  • See something wrong on this page? Edit it →
  • Have an idea that touches this workflow? Submit it →
  • Want to be part of a future cohort working on this workflow? Say so in your submission — cohorts form from the people who raise their hands.

Ideas touching this workflow

Loading ideas from GitHub…