B2B AI DirectoryB2B AI Directory
Demand GenerationbeginnerFree

Turn one content offer into a multi-channel demand gen engine

Transform a report, webinar, guide, or benchmark into ads, email, organic posts, SDR copy, landing page blocks, and a launch tracker.

What you will have

Create a multi-channel demand gen kit from one approved content offer.

Setup time
2-3 hours
Time saved
6-8 hours per content offer activation
Estimated cost
$0 to $300 per month
Tools used
6 tools

Why this works

Most content offers underperform because teams publish them once and move on. A useful asset needs channel-specific activation: paid angles, email sequences, sales blurbs, organic posts, landing page copy, and measurement. This workflow turns one asset into a coordinated campaign system instead of a lonely PDF.

Step-by-step workflow

Run the workflow

This workflow is fully available. Follow the steps below to build the system from start to finish.

1

Approve the offer, audience, and campaign constraints

30-45 min

Collect the final content offer, target audience, primary business objective, approved CTA, destination URL, launch window, budget, regions, languages, and channel owners in one intake record. Confirm that the offer itself is approved and that any cited research, customer examples, statistics, or partner logos can be promoted publicly. Add explicit exclusions for audiences, claims, industries, geographies, and data uses that the campaign must avoid. Name one campaign owner with final decision authority and one approver for brand, legal, or product claims. Do not start asset production while the destination, CTA, or approval path is unresolved. Mark the intake approved only when every required owner has acknowledged the constraints.

Output

An approved campaign intake with objective, audience, CTA, constraints, owners, and launch window.

Google SheetsSlack
Pro tip

Lock the primary CTA early; late CTA changes force rewrites across every downstream channel.

2

Extract the offer’s campaign source brief in Claude

45-60 min

Open Claude and create a new project or chat for this offer. Paste the approved prompt, attach the complete offer or approved transcript, and include the intake record, audience definition, CTA, and claims policy. Require Claude to return a structured source brief with evidence references, not campaign copy. Save the output in the campaign workspace and assign it a version number that every later asset will reference. Have the content owner verify every proof point against the source material and remove anything that depends on outside model knowledge. Do not advance until the source brief is approved as the single source of truth.

Output

A versioned, evidence-linked campaign source brief approved for downstream production.

Claude
Pro tip

Use the full offer whenever possible; summaries often remove the nuance that produces the strongest campaign angles.

Prompt template
Create a structured demand-generation source brief from the approved content offer.

INPUTS
- Full offer or transcript: {{content_offer}}
- Campaign objective: {{campaign_objective}}
- Target audience and buying stage: {{target_audience}}
- Primary CTA and destination: {{primary_cta_and_destination}}
- Approved claims and proof rules: {{approved_claims}}
- Prohibited claims or topics: {{prohibited_claims}}

Return:
1. source_brief_version
2. core promise
3. audience pains and desired outcomes
4. strongest insights, each with source section or page reference
5. approved statistics and proof points with source references
6. five possible campaign angles
7. objections the offer can answer
8. primary and secondary CTA language
9. claims requiring human review
10. sales-use notes
11. content sections not strong enough to promote

Rules:
- Do not invent statistics, customer outcomes, or claims.
- Separate direct source facts from interpretation.
- Mark uncertainty and missing context.
- Do not write channel assets yet.
3

Build the claim and proof ledger

45-75 min

Create a Google Sheets claim ledger with claim_id, source_brief_version, proposed claim, claim type, source page or timestamp, approved wording, proof owner, permitted channels, expiry date, risk level, and approval status. Include visual proof such as charts, screenshots, customer logos, analyst quotes, or benchmark tables only when usage rights are clear. Mark statistics, comparative claims, customer results, legal statements, and forward-looking claims for specialist review. Separate “the offer says” from “the company can claim publicly,” because those are not always identical. Link every future copy asset to claim IDs rather than copying unsupported language from drafts. Block production for any hero claim that lacks an approved proof path.

Output

A channel-aware claim ledger with evidence, ownership, expiry dates, and approval status.

Google Sheets
Pro tip

Claims become risky when separated from their qualifiers; keep approved wording and required context in the same row.

4

Define audience segments and lifecycle routing

60-90 min

Create a segment table for each audience the campaign will address, including segment_id, role, company profile, current pain, buying stage, awareness level, objection, relevant proof, preferred CTA, exclusion criteria, and sales owner. Use HubSpot properties that already exist wherever possible so the campaign can actually route and report by segment. Map each segment to eligible lists, suppression lists, regions, consent requirements, and lifecycle-stage rules. Decide whether the offer should generate new demand, accelerate known leads, support active opportunities, or reactivate dormant contacts. Have RevOps validate that every planned segment can be identified reliably in HubSpot before copy is generated. Remove segments that cannot be targeted, measured, or served with a meaningfully different message.

Output

A targetable segment and lifecycle-routing map tied to existing HubSpot properties.

HubSpotGoogle Sheets
Pro tip

A segment is not operational until you can express it as actual CRM fields and exclusions.

5

Set the campaign objective and measurement contract

45-60 min

Choose one primary campaign objective and define the conversion event that represents success. Record baseline volume, target range, budget, expected audience size, reporting window, attribution model, sales follow-up SLA, and guardrail metrics such as unsubscribe rate, form completion rate, cost per qualified response, or lead rejection rate. Define the exact HubSpot campaign, form, list, lifecycle, and opportunity fields that will be used for measurement. Separate leading indicators such as CTR from business outcomes such as qualified meetings or influenced pipeline. Assign an owner for every metric and a deadline for data availability. Publish this as the measurement contract and require campaign-owner approval before channel planning.

Output

A measurement contract with one primary outcome, baselines, attribution rules, guardrails, and owners.

HubSpotGoogle Sheets
Pro tip

Do not use CTR as the campaign goal when the business decision depends on qualified leads or pipeline.

6

Build the channel message map

60-90 min

Create one row per segment and channel in Google Sheets with campaign angle, reader context, problem framing, proof IDs, offer section, CTA, destination, tone, asset format, owner, and approval status. Use Claude to suggest channel adaptations only after the source brief, claim ledger, segments, and measurement contract are approved. Assign the sharpest pattern-interrupt angle to paid media, more context-rich angles to email, utility-led framing to organic, and account relevance to SDR outreach. Keep the primary CTA consistent unless the measurement contract explicitly defines a micro-conversion. Review the map for duplicated messages, unsupported claims, and channels that do not match how the audience consumes content. Lock the approved map as the production brief for all asset owners.

Output

An approved segment-by-channel message map with proof IDs, CTA, owners, and destinations.

Google SheetsClaude
Pro tip

Channel adaptation should change framing and format, not the underlying truth of the offer.

Prompt template
Create a channel message map from approved campaign inputs.

INPUTS
- Approved source brief: {{source_brief}}
- Claim ledger with approved claim IDs: {{claim_ledger}}
- Audience segments and lifecycle stages: {{segment_map}}
- Measurement contract: {{measurement_contract}}
- Available channels and constraints: {{channel_constraints}}
- Brand voice: {{brand_voice}}

Return a table with:
segment_id, channel, audience_context, primary_angle, supporting_proof_ids, offer_section, hook_direction, CTA, destination, format, tone, owner_role, review_needed, and risk_note.

Rules:
- Use only approved claim IDs.
- Keep the primary CTA aligned to the measurement contract.
- Adapt framing to the channel instead of repeating identical copy.
- Flag any channel-segment combination with weak fit.
- Do not draft full assets yet.
7

Create the production matrix and launch dependency plan

45-60 min

Turn the approved message map into a production matrix with asset_id, segment_id, channel, format, dimensions or length, source brief version, required claim IDs, owner, reviewer, due date, dependency, destination, UTM content value, and status. Include landing-page modules, forms, thank-you assets, email messages, ad variants, organic posts, SDR copy, visuals, and internal launch materials. Sequence dependencies so landing-page and routing decisions are complete before final emails and ads are approved. Add status values for briefed, drafting, in review, changes requested, approved, built, QA passed, scheduled, live, and retired. Set a scope limit that the team can produce and review without weakening quality. Review the critical path with all owners in Slack and resolve blockers before writing begins.

Output

A complete asset-production matrix with dependencies, owners, review stages, and critical path.

Google SheetsSlack
Pro tip

Production starts to slip when assets are listed without dependencies; make the landing page, form, and tracking visible prerequisites.

8

Draft the landing-page narrative and conversion path

60-90 min

Open Claude and provide the source brief, message map, approved claim IDs, segment priorities, and measurement contract. Generate a modular landing-page brief and copy blocks for hero, problem, insight summary, proof, offer preview, what the reader will learn, form value exchange, CTA, and post-conversion expectation. Require notes showing which segment and claim IDs each block serves. Save the copy in the production matrix and route it to content, product, and legal reviewers as required. Remove sections that merely repeat the asset title without increasing perceived value or reducing conversion anxiety. Approve the narrative before building the HubSpot page.

Output

Approved landing-page copy blocks and a documented conversion path tied to proof and segments.

ClaudeHubSpot
Pro tip

Tell visitors what happens after form submission; uncertainty about access, follow-up, or sales contact can suppress conversion.

Prompt template
Draft a modular landing-page brief and copy for the content-offer campaign.

INPUTS
- Approved source brief: {{source_brief}}
- Segment and message map: {{message_map}}
- Approved claim ledger: {{claim_ledger}}
- Measurement contract and CTA: {{measurement_contract}}
- Brand voice and page constraints: {{brand_voice_and_constraints}}

Return:
A. Page objective and primary segment.
B. Copy blocks for hero, subhead, problem, insight preview, proof, what-you-will-learn, form intro, CTA, trust note, and thank-you expectation.
C. For every block: segment_id, supporting_claim_ids, and review_owner.
D. Form-friction risks and recommended mitigations.
E. Copy or claims that remain blocked.

Rules:
- Use only approved claim IDs.
- Do not reveal the entire offer on the landing page.
- Keep one primary CTA.
- Do not invent outcomes, urgency, or scarcity.
9

Build the HubSpot landing page, form, and follow-up workflow

90-150 min

Create or clone the approved HubSpot landing-page template and insert only approved copy and assets. Configure the form fields, progressive profiling, consent language, hidden campaign fields, lifecycle behavior, owner routing, list membership, thank-you behavior, and asset delivery method. Map every form field to the correct HubSpot property and document required versus optional fields in the tracker. Build the follow-up workflow for delivery, internal notification, lead scoring, segmentation, and sales handoff according to the lifecycle-routing map. Test known-contact and new-contact behavior, business and personal email addresses, duplicate submissions, suppression logic, and mobile rendering. Do not mark the asset built until the test records appear in the correct lists and workflows.

Output

A tested HubSpot landing page, form, delivery workflow, and routing path.

HubSpotGoogle Sheets
Pro tip

Use test contacts that cover every routing branch; a single successful form submission does not validate the workflow.

10

Draft and configure the HubSpot email journey

90-120 min

Open Claude and generate email copy from the approved source brief, message map, segment rules, and claim ledger. Create the invitation or nurture sequence, confirmation or delivery email, reminder if relevant, and a sales-assist follow-up for qualified contacts. Require subject line, preview text, body, CTA, segment, send timing, suppression rule, and supporting claim IDs for every message. Save approved copy in HubSpot and configure enrollment, delays, goals, exit criteria, frequency caps, and timezone behavior. Send tests to desktop and mobile clients, validate personalization fallbacks, and click every tracked link. Route final approval to the email owner before scheduling.

Output

A segmented, tested HubSpot email journey with enrollment, suppression, timing, and exit rules.

ClaudeHubSpot
Pro tip

Define exit criteria before launch so converters and active opportunities do not keep receiving irrelevant nurture messages.

Prompt template
Create the HubSpot email journey for this content offer.

INPUTS
- Approved source brief: {{source_brief}}
- Segment and lifecycle map: {{segment_map}}
- Channel message map: {{message_map}}
- Approved claim ledger: {{claim_ledger}}
- Measurement contract: {{measurement_contract}}
- Sending and compliance rules: {{email_rules}}

For each email return:
email_id, purpose, eligible_segment_ids, subject_options, preview_text, body_copy, CTA, destination, supporting_claim_ids, send_timing, enrollment_rule, suppression_rule, exit_rule, personalization_fields, fallback_copy, and review_owner.

Include:
- Offer invitation or nurture sequence
- Delivery or confirmation email
- Reminder where appropriate
- Qualified-lead sales-assist email

Do not invent claims. Keep one CTA per email and flag missing routing information as BLOCKED.
11

Draft the LinkedIn Ads testing matrix

60-90 min

Open Claude and use the approved paid-media rows from the message map to draft a controlled testing matrix. Create distinct tests for angle, proof type, format, or audience, but change only one major variable within each comparison where possible. Include ad_id, segment, objective, hook, intro text, headline, CTA, supporting claim IDs, creative concept, destination, UTM content value, and hypothesis. Keep copy within the current platform field limits used by your account and let the paid-media owner trim final text in the platform. Exclude claims that cannot be understood without the offer’s full context. Approve the matrix before creative production or campaign setup.

Output

An approved LinkedIn Ads test matrix with hypotheses, proof IDs, UTMs, and creative concepts.

ClaudeLinkedIn AdsGoogle Sheets
Pro tip

Do not call every ad variation a test; a test needs a defined variable, comparison, and decision rule.

Prompt template
Create a LinkedIn Ads testing matrix for the approved content offer.

INPUTS
- Paid-media rows from the message map: {{paid_message_map}}
- Approved claim ledger: {{claim_ledger}}
- Audience segments: {{segment_map}}
- Measurement contract and budget: {{measurement_contract}}
- Brand and platform constraints: {{constraints}}

Return a table with:
ad_id, audience_segment, test_variable, hypothesis, intro_text, headline, CTA, supporting_claim_ids, creative_concept, destination, utm_content, primary_metric, guardrail_metric, and review_owner.

Rules:
- Change one major test variable at a time where practical.
- Use only approved claims.
- Keep one CTA.
- Do not invent urgency or performance outcomes.
- Flag any concept that requires legal or partner approval.
12

Draft organic, SDR, newsletter, and partner copy

90-120 min

Use Claude to create separate copy packages for organic LinkedIn, SDR outreach, newsletter placement, website modules, partner promotion, and the internal Slack launch. Provide the relevant message-map row and audience context for each package rather than asking for one generic repurposing batch. Require asset IDs, approved claim IDs, destination, CTA, personalization fields, and usage notes in every output. SDR copy should explain when a rep should use the asset and when not to use it, while partner copy should identify any co-branding or approval dependency. Save each package in the production matrix and assign a human owner to personalize and approve it. Reject copy that sounds identical across channels or implies one-to-one research that did not occur.

Output

Approved organic, SDR, newsletter, partner, website, and internal launch copy packages.

ClaudeGoogle SheetsSlack
Pro tip

Sales adoption improves when the usage trigger is included with the copy, not buried in a separate enablement note.

Prompt template
Create channel-specific activation copy for the approved content offer.

INPUTS
- Source brief: {{source_brief}}
- Relevant message-map rows: {{message_map_rows}}
- Segment context: {{segment_context}}
- Claim ledger: {{claim_ledger}}
- CTA and destination: {{cta_and_destination}}
- Brand voice: {{brand_voice}}

Return separate packages for:
1. Organic LinkedIn posts
2. SDR email and LinkedIn blurbs
3. Newsletter placement
4. Website promotion module
5. Partner promotion
6. Internal Slack launch note

For every asset include:
asset_id, intended_user, eligible_segment, copy, CTA, destination, supporting_claim_ids, personalization_fields, usage_trigger, do_not_use_when, and review_owner.

Do not reuse identical hooks across channels. Do not imply personal research or customer proof that is not approved.
13

Create the visual system and channel assets in Canva

2-4 hours

Create a Canva campaign folder with the approved source brief version, brand kit, approved logos, image rights, and production matrix. Build a reusable visual system covering typography, color, chart style, cover treatment, CTA treatment, and required disclaimers. Produce only the approved formats, such as report cover, stat card, quote card, carousel, LinkedIn single image, document ad preview, website module, and email banner. Link every visual to its asset ID and claim IDs, and keep editable source files rather than exporting isolated images only. Review legibility at actual placement size, mobile crops, contrast, logo clear space, and disclaimer visibility. Mark each export with version, dimensions, owner, and approval status in Google Sheets.

Output

A versioned Canva campaign system and approved channel-specific visual exports.

CanvaGoogle Sheets
Pro tip

Validate charts and stat cards against the claim ledger after design; visual simplification can accidentally change the meaning of a number.

14

Create the UTM, naming, and destination map

45-75 min

Build a Google Sheets tracking table with asset_id, channel, source, medium, campaign, content, term where needed, segment_id, destination URL, shortened URL if used, owner, and QA status. Define one naming convention for the HubSpot campaign, LinkedIn campaign group, campaign, ad set or audience, ads, emails, workflows, lists, and Canva exports. Generate final URLs from the approved fields rather than hand-typing UTMs inside each platform. Check for duplicate content values, inconsistent capitalization, spaces, accidental PII, and destinations that redirect away from the intended page. Paste the final tracked URL back into every production-matrix row. Lock the naming sheet after approval and route changes through the campaign owner.

Output

A canonical naming and destination map with unique UTMs for every campaign asset.

Google SheetsHubSpotLinkedIn Ads
Pro tip

Use asset_id as the stable bridge between creative, platform setup, CRM results, and the postmortem.

15

Configure the HubSpot campaign and reporting structure

60-90 min

Create the HubSpot campaign using the approved naming convention and associate the landing page, form, emails, workflows, lists, CTAs, and tracked URLs. Configure campaign start and end dates, owner, budget where used, audience, notes, and primary goal. Verify that hidden fields, original source data, campaign membership, lifecycle updates, and owner assignments behave as documented. Build saved views or reports for submissions, qualified contacts, lifecycle progression, influenced records, source and medium, and sales disposition. Document the attribution model and any metrics that remain directional. Reconcile test submissions from Step 9 before giving the campaign a launch-ready status.

Output

A fully associated HubSpot campaign with tested routing and documented reporting definitions.

HubSpotGoogle Sheets
Pro tip

Campaign association should be checked before launch; retroactive cleanup rarely restores every missing relationship.

16

Configure LinkedIn Ads audiences, budget, and experiments

90-150 min

Build the LinkedIn Ads campaign structure from the approved testing matrix and naming sheet. Configure objective, geography, language, company or role targeting, exclusions, matched audiences, retargeting windows, budget, schedule, bid strategy, conversion tracking, and frequency controls according to the measurement contract. Upload only approved creative and copy, then paste the canonical tracked destination for each ad. Check estimated audience size and overlap so separate tests are not unknowingly competing for the same people. Use draft or paused status while a second person reviews targeting, budget, URLs, creative, and conversion events. Record platform IDs and launch status back in Google Sheets.

Output

A reviewed LinkedIn Ads campaign structure linked to the approved test matrix and tracking map.

LinkedIn AdsGoogle Sheets
Pro tip

Audience overlap can invalidate creative comparisons; inspect it before launch rather than explaining it after results arrive.

17

Run the cross-channel preflight and approval gate

60-120 min

Use one QA checklist in Google Sheets covering copy approval, claim IDs, visual approval, links, UTMs, forms, consent, workflows, lists, routing, suppression, mobile rendering, accessibility, targeting, budgets, conversion events, delivery assets, and rollback owners. Assign each check to a named reviewer and require evidence such as a screenshot, test record, or preview link. Run end-to-end tests from ad or email click through form completion, asset delivery, HubSpot record creation, list membership, notification, scoring, and sales routing. Resolve all critical and high-severity issues before launch and document any accepted low-risk exceptions. Obtain final sign-off from the campaign owner, channel owners, and required claim reviewers. Keep every campaign and ad paused until the approval gate is complete.

Output

A completed preflight record with end-to-end test evidence and final launch approval.

Google SheetsHubSpotLinkedIn AdsCanva
Pro tip

Test the whole journey as a user and as an operator; platform previews alone do not validate routing or delivery.

18

Coordinate launch and first-72-hour monitoring

1 hour launch plus 72-hour monitoring

Post the launch plan in Slack with launch time, owners, dashboards, asset links, audience, budget, escalation contacts, and rollback criteria. Launch channels in the agreed sequence so the team can isolate technical issues rather than activating everything blindly. During the first 72 hours, monitor spend, delivery, rejected ads, broken links, form completion, workflow enrollment, email bounces, unsubscribe spikes, duplicate contacts, routing failures, and sales alerts. Log issues in the tracker with severity, owner, resolution, and time detected. Fix technical failures immediately, but avoid broad creative conclusions before enough data accumulates. Send a concise launch-health update after the first day and again after 72 hours.

Output

A controlled launch with documented health checks, issues, owners, and early technical resolutions.

SlackHubSpotLinkedIn AdsGoogle Sheets
Pro tip

Separate technical monitoring from performance interpretation; the first 72 hours are primarily for catching broken systems.

19

Review performance, lead quality, and the next activation cycle

60-90 min per review

At the agreed review window, compare channel results with the measurement contract rather than selecting whichever metric looks strongest. Review reach, spend, CTR, landing-page conversion, email engagement, form completion, qualified-contact rate, sales acceptance, opportunity movement, pipeline signals, and guardrails by segment and asset ID. Ask sales to disposition leads using defined reasons and compare message angles with lead quality, not only volume. Record findings as facts, hypotheses, data gaps, and decisions in Google Sheets. Decide which assets to scale, revise, pause, repurpose, or retire, and assign owners plus deadlines. Feed approved learnings back into the source brief, message map, templates, and future content-offer activation backlog.

Output

A documented post-launch decision record that connects channel performance, lead quality, and the next iteration.

HubSpotLinkedIn AdsGoogle SheetsSlack
Pro tip

The winning asset is the one that improves the agreed business outcome, not necessarily the one with the cheapest click.

Expected results

Assets produced

15-25 campaign assets

One offer can realistically produce emails, ad variants, organic posts, SDR copy, landing page blocks, and internal launch materials.

Activation time saved

6-8 hours per offer

The brief-to-channel workflow removes repeated rewriting and gives each channel a ready starting point.

Launch consistency

One message map

All assets trace back to the same offer brief, reducing contradictory claims across channels.

Measurement readiness

UTM and QA tracker

Every asset has a tracked destination and QA status before launch, which makes performance review cleaner.

Related workflows

Continue with workflows that share a similar GTM motion, category, or tool stack.