Track every campaign asset by keeping one campaign-level inventory where each email, SMS, WhatsApp message, and landing page has its own owner, production status, current version, QA state, review state, and approval state. The campaign also needs a separate readiness state that tells the team whether the complete set of assets can move forward.
That distinction matters as soon as a campaign contains more than one deliverable.
An email can be ready while the SMS is waiting on copy.
The SMS can be approved while legal is still reviewing the landing page.
Calling all three In progress hides the information the marketing manager actually needs.
What is a campaign asset?
A campaign asset is an individual piece of campaign work that must be produced, checked, reviewed, or approved before the campaign can move forward.
Take a campaign called:
Summer Sale — August
Its asset inventory might be:
Email 01 — Launch
Email 02 — Last chance
SMS 01 — Reminder
WhatsApp 01 — Last chance
Landing page — Summer Sale
Each asset belongs to the same campaign.
Each can still have a different owner, deadline, version, QA state, reviewer, and approval status.
That is different from treating the campaign as one project-management task:
Build Summer Sale campaign — In progress
The task tells you work exists.
It does not tell you what has actually been produced.
For teams running this process across several channels, campaign production management is the discipline of coordinating those individual pieces while preserving the campaign view.
What information should you track for every campaign asset?
Every campaign asset should carry enough production information to answer who owns it, what state it is in, what version is current, and what must happen next.
A useful asset record looks like this:
| Field | Example | Question it answers |
|---|---|---|
| Asset | Email 01 — Launch | What are we producing? |
| Channel | Where will it be used? | |
| Owner | Maya — CRM | Who owns the current work? |
| Production state | Build complete | How far has production progressed? |
| Current version | v6 | Which version is active? |
| QA state | 1 issue open | Has it been checked? |
| Review state | Client review | Who is reviewing it? |
| Approval state | Waiting | Has a decision been recorded? |
| Next action | Fix Outlook rendering | What must happen next? |
| Blocker | CRM developer | Why can't the asset move forward? |
The labels do not have to be identical in every organization.
The information does.
A marketing manager should not have to open the email build, search Slack, check a spreadsheet, and ask the account manager just to establish that the email is blocked by one rendering issue.
Why isn't one campaign status enough?
One campaign status is not enough when individual assets are moving through production, QA, review, and approval independently.
Consider this campaign status:
Summer Sale — In progress
Now compare it with:
Summer Sale
Email 01
→ Build complete
→ QA issue open
Email 02
→ Copy in review
SMS 01
→ Approved
WhatsApp 01
→ Waiting on copy
Landing page
→ Waiting on legal
The second view changes the management conversation.
The question is no longer:
How is Summer Sale going?
It becomes:
The launch email has one QA issue, the landing page is waiting on legal, and WhatsApp still needs copy. Who owns those three actions?
In progress describes the existence of work.
It does not explain the state of the campaign.
What statuses should a campaign asset have?
Campaign asset statuses should describe meaningful production transitions rather than every small action performed by the team.
One possible sequence is:
- Not started
- In production
- Ready for QA
- Changes required
- In review
- Ready for sign-off
- Approved
That does not mean every team needs exactly seven statuses.
In many workflows, production, QA, and approval are clearer as separate dimensions.
For example:
Email 01
Production:
Complete
QA:
Changes required
Approval:
Not started
That is more precise than forcing the asset into a single status such as:
In progress
A single linear field becomes less useful when different types of work can happen independently.
How do you track who owns the next action?
Campaign ownership should identify the person responsible for moving an asset from its current state to the next meaningful state.
The asset owner, reviewer, approver, and next-action owner can be different people.
For an agency:
Email v5
Production owner:
CRM developer
Reviewer:
Client marketing manager
Current state:
Client review
Next action:
Client marketing manager owes feedback
The client requests a headline change.
The state then becomes:
Email v5
Current state:
Changes requested
Next action:
Copywriter owes headline revision
The asset has not changed.
The person responsible for moving it forward has.
That is why ownership should answer more than:
Who is assigned to this campaign?
The useful question is:
Who has to do something next?
How do you identify what is blocking the campaign?
A campaign blocker is the unresolved action or decision preventing an asset or the campaign as a whole from advancing.
For example:
Email
→ blocked by Outlook rendering issue
SMS
→ blocked by client feedback
Landing page
→ blocked by legal review
WhatsApp
→ blocked by missing copy
Those blockers are not equivalent.
The Outlook issue is production work.
The client feedback is an external decision.
The legal review is an internal stakeholder decision.
The missing WhatsApp copy is unfinished production.
A campaign tracker should make those differences visible.
The useful management question is not:
Is the campaign still in progress?
It is:
What exactly is preventing this campaign from moving forward?
How should agencies track campaign assets?
Agency campaign tracking should distinguish work owed by the agency from decisions owed by the external client.
Consider:
Client:
Northstar Retail
Campaign:
Labor Day Sale
Email
→ agency owes rendering fix
SMS
→ client owes copy approval
Landing page
→ agency owes design revision
WhatsApp
→ client owes sign-off
The account manager needs to see two queues:
Waiting on us
and:
Waiting on the client
If those states are mixed together, the agency can easily spend an internal status meeting discussing an asset that cannot move until the client makes a decision.
The reverse is also true.
A client should not be chased for approval when the agency still owes a revision.
Agency asset tracking therefore needs to preserve:
- Current asset
- Internal production owner
- Current version
- Open agency work
- Client reviewer
- Open client decision
- Next action
The defining external blocker is the client.
How should in-house teams track campaign assets?
In-house campaign tracking should distinguish production work from decisions owed by legal, brand, channel owners, and marketing leadership.
A typical state might look like:
Campaign:
Summer Upgrade
Email
→ CRM build complete
→ waiting on brand
SMS
→ copy complete
→ waiting on legal
Landing page
→ design change open
WhatsApp
→ ready for QA
Campaign sign-off
→ not started
There is no external client in this workflow.
The blockers are internal.
An email marketing manager may be waiting on brand.
A copywriter may be waiting on legal.
A CRM manager may be waiting for a revised version before starting QA.
A marketing director may not need to review anything until the production and stakeholder-review stages are complete.
That is a different operating problem from an agency chasing client approval.
The tracker should reflect that difference.
How do you track multichannel campaigns without losing the campaign view?
Multichannel campaign tracking should preserve both the workflow of individual assets and the fact that those assets belong to one campaign.
Four disconnected tasks:
Build email
Build SMS
Build WhatsApp
Build landing page
do not automatically create a useful campaign view.
The team also needs to know:
Campaign:
Summer Sale — August
Assets:
Email
SMS
WhatsApp
Landing page
Those assets can share:
- One offer
- One launch date
- One campaign brief
- One review cycle
- One final sign-off decision
This matters because individual assets can look correct while the campaign is wrong.
For example:
Email:
Offer ends Sunday
SMS:
Offer ends Sunday
Landing page:
Offer ends Monday
Every asset could individually be marked Complete.
The campaign still contains a contradiction.
Tracking assets inside their campaign context makes cross-channel checks possible.
For the wider operating model, see how to manage multichannel campaign production.
How do dependencies between campaign assets affect tracking?
Campaign dependencies are relationships where one asset or production step cannot proceed until another piece of work or decision is complete.
For example:
Legal approves offer
→ landing-page copy can be finalized
Or:
Landing-page URL finalized
→ email CTA can be checked
Or:
Creative approved
→ email build can be completed
The team does not necessarily need a complex dependency map.
It does need to answer:
What has to happen before this asset can move?
Without that context, a task can look inactive even though the owner has nothing actionable to do.
Dependencies turn inactivity into an explainable state.
How do you track campaign assets in a spreadsheet?
A campaign spreadsheet can track assets effectively when each row represents a real asset and the team can reliably maintain the production information around it.
For example:
| Campaign | Asset | Owner | Production | QA | Review | Approval | Next action |
|---|---|---|---|---|---|---|---|
| Summer Sale | Email 01 | CRM | Complete | Issue open | — | — | Fix Outlook |
| Summer Sale | SMS 01 | Lifecycle | Complete | Complete | Client | Waiting | Client decision |
| Summer Sale | Landing page | Web | Revision | — | Legal | Waiting | Update terms |
There is nothing inherently wrong with that model.
The spreadsheet becomes harder to rely on when the actual campaign history starts living elsewhere.
For example:
- The spreadsheet says
In review. - The review comments are in email.
- The latest file is in a shared drive.
- A rendering issue is in Slack.
- Client approval is in another email thread.
- Nobody has updated the sheet since yesterday.
At that point, the spreadsheet is not the campaign record.
It is a manually maintained summary of several other systems.
The operational problem is fragmentation, not spreadsheets themselves.
Is Asana or Monday.com enough for campaign asset tracking?
Generic project management software can track campaign tasks, but the important question is whether the team's configuration represents the campaign assets and production states it actually needs.
This:
Build Summer Sale — In progress
is valid project tracking.
It is weak campaign tracking.
Compare it with:
Summer Sale
Email
Production → complete
QA → issue open
SMS
Production → complete
Review → client
Landing page
Production → revision
Approval → legal
Asana or Monday.com can be configured in many ways.
The question is how much campaign-specific structure the team has to create and maintain around generic tasks.
That becomes especially relevant when review, versions, QA, and approval live outside the project-management board.
The tradeoff is covered in more detail in using Asana or Monday.com for campaign work.
How does campaign asset tracking connect to the brief?
Campaign asset tracking should begin when the campaign scope defines what needs to be produced.
A brief might say:
Campaign:
Summer Sale
Required assets:
- Launch email
- Last-chance email
- SMS reminder
- WhatsApp last chance
- Landing page
Those bullets should eventually become trackable production objects.
Otherwise, the brief defines the scope but the production system loses it.
A common failure mode is:
Brief says:
5 assets required
Project board contains:
3 tasks
Shared folder contains:
6 files
Now nobody knows whether the campaign scope changed or the production tracker is incomplete.
The brief should establish what needs to exist.
Asset tracking should show whether each required item actually exists and where it stands.
For email-specific briefing, see how to write an email campaign brief.
How does asset tracking connect to pre-send QA?
Pre-send QA is the verification work performed before a produced campaign asset is released for execution.
QA therefore needs its own visible state inside campaign production.
For example:
Email v7
Production:
Complete
QA:
Changes required
Issue:
Outlook 2019 rendering
Approval:
Not started
Without a visible QA state, Production complete can easily be misread as Ready.
Those are not the same thing.
The same campaign can also contain different QA states:
Email
→ 1 issue open
SMS
→ QA complete
WhatsApp
→ QA not started
Landing page
→ QA complete
The campaign view needs to preserve those differences.
Teams defining that checkpoint can use the campaign pre-send checklist as the QA sub-hub for the P2 production process.
How do you know when the whole campaign is ready?
Campaign readiness is the campaign-level state that indicates whether all required assets and production decisions have satisfied the team's release conditions.
Consider:
Email
→ approved
SMS
→ approved
WhatsApp
→ QA complete
Landing page
→ legal change open
The campaign is not ready.
Its state should reflect that:
Campaign readiness:
Blocked
Reason:
Landing page waiting on legal revision
A useful readiness check can ask:
- Are all required assets present?
- Is production complete for every required asset?
- Is required QA complete?
- Are review comments resolved?
- Are required approvals complete?
- Is any unresolved blocker still open?
- Is the campaign ready for final sign-off or execution handoff?
Teams can use different release rules.
The important distinction is that campaign readiness is derived from the current state of the required work; it is not just another manually selected Done status.
This is also why it helps to manage a campaign from brief to sign-off as one connected production process.
Where does LaunchSign fit into campaign asset tracking?
LaunchSign is campaign production and client approval software that coordinates multichannel campaign work from brief through sign-off.
A campaign can bring email, SMS, WhatsApp, and landing-page work into the same production context while individual assets move through their own workflow.
That lets the team look at two levels:
Asset level
What is happening to this email, SMS, WhatsApp message, or landing page?
Campaign level
What is preventing the complete campaign from moving forward?
LaunchSign also keeps review and approval work in that campaign context. Clients can review without creating an account, and email production can include inbox previews across 100+ email clients before sign-off.
LaunchSign does not send campaigns.
It does not replace Salesforce Marketing Cloud, Braze, HubSpot, Klaviyo, or another ESP.
Its role is before execution:
Brief
→ define campaign assets
→ assign production work
→ produce
→ QA
→ review
→ sign-off
→ ESP execution
How can you tell whether your campaign asset tracking is working?
Campaign asset tracking is working when the team can understand current campaign state without reconstructing it from several tools and people's memories.
Open one active campaign and ask:
- Which assets are required?
- Which assets actually exist?
- Who owns each one?
- What is the current version?
- Which assets still need production work?
- Which assets have open QA issues?
- Which assets are waiting for review?
- Who owes the next action?
- What is blocking the campaign?
- Is the complete campaign ready to move forward?
If answering those questions requires checking an Asana board, opening a spreadsheet, searching Slack, comparing email attachments, and asking the CRM manager what changed, the team is tracking activity.
It is not tracking campaign state.
FAQ
What should a campaign tracker include?
A campaign tracker should identify the campaign, required assets, owners, production state, current version, QA state, review or approval state, current blocker, and next action. It should also show whether the complete campaign is ready to move forward.
Should every campaign asset have its own status?
Each campaign asset should have its own state when email, SMS, WhatsApp, landing pages, or other required items can move through production independently. Campaign-level status should summarize those states rather than replace them.
How do you track email, SMS, WhatsApp, and landing pages together?
Group email, SMS, WhatsApp, and landing-page assets under the same campaign while preserving separate ownership, production, QA, review, and approval states for each asset. The campaign view should also surface cross-channel blockers and readiness.
Can you track campaign production in a spreadsheet?
Yes. A spreadsheet can work when the team reliably maintains the current asset inventory, owners, statuses, versions, and next actions. It becomes harder to trust when comments, files, QA issues, and approvals live in other systems and the sheet has to be reconciled manually.
How do you know when a campaign is ready to launch?
A campaign is ready to move into execution when the organization's required assets, production work, QA, review, approvals, and final readiness conditions are complete for the current campaign state. The execution itself happens in the ESP, not in LaunchSign.


