Local Marketing Campaign Planner (calendar & ROI tracker)

A practical, step-by-step campaign planner that combines a campaign brief, channel checklist, simple calendar/timeline entries, budget allocation fields, tracking tag guidance, and a post-campaign ROI tracker. Interactive fields let teams save campaign plans and post-campaign results for future learning.

Interactive Tool

Local Marketing Campaign Planner (calendar & ROI tracker)

Plan a focused local campaign that drives covers and repeat visits

Use this planner to capture the campaign brief, allocate budget and channels, set tracking, and record post-campaign outcomes. The form collects the inputs needed to estimate expected lift and measure ROI after the campaign ends. Where the form asks for a calculated value, a short help note explains the formula so teams can compute it or paste results from their analytics.

How to use: Fill the planning fields before launch. After the campaign, return to the same record and complete the post-campaign fields to capture actual spend, covers, revenue, profit and lessons learned. Save each campaign so your team can compare what worked.

Short, descriptive name (e.g., 'Summer Patio Promo - June 2026').
Choose the main measurable objective for this campaign.
Describe who you're trying to reach and the offer or message (e.g., locals within 3-mile radius; $2 off patio cocktails).
Enter a date (YYYY-MM-DD).
Enter a date (YYYY-MM-DD).
List important deadlines and who is responsible (creative due, scheduling posts, event setup, staff brief).
Select all channels you'll use.
Select the channel expected to do the heavy lifting.
Planned total spend for the campaign in USD.
List allocations per channel, e.g., 'Paid social: $400; Email: $0; Flyers: $100'. This helps later attribution and learning.
List UTM parameters, promo codes, reservation codes, or loyalty check-in tags you will use. Example UTM: '?utm_source=facebook&utm_medium=cpc&utm_campaign=patio_june'.
Select measurement methods you will use to track results.
Estimated % increase in covers during campaign period vs. typical same-length baseline period. If unsure, enter a conservative estimate (e.g., 5-10).
Number of covers you typically serve in an equivalent historical period (same days of week/length). This is used to estimate expected incremental covers.
Optional — enter the expected incremental covers for the campaign. If left blank, team can calculate: baseline_covers * (expected_lift_pct / 100).
Average revenue per cover (dollar). Used to translate incremental covers to revenue.
Use your typical plate-level gross margin percentage (food+beverage contribution after COGS). Example: 65 = 65%.
Check tasks you will complete before launch.
Total actual spend after campaign. Fill this in post-campaign.
Total number of covers served during the campaign period.
Measured incremental covers attributed to the campaign. If you cannot measure directly, estimate or use: baseline_covers * (actual_lift_pct / 100).
Suggested calculation: post_incremental_covers * average_check. Enter measured or calculated revenue.
Suggested calculation: incremental_revenue * (gross_margin_pct / 100) - actual_campaign_spend. If multiple campaigns share spend, allocate appropriately.
Common ROI formula: (Incremental gross profit / Actual campaign spend) * 100. Enter the computed percent.
Capture specific evidence: which channel drove the most tracked conversions, guest feedback, operational issues, etc.
E.g., scale paid social by X, change creative, test different offer, bake promo code into loyalty flow.
Quick subjective score your team can use to prioritize follow-up (1 = poor, 5 = excellent)
1.0 10.0
You can explore this tool now. Sign in or create an account to save your responses and return to them later.
Make this tool part of your work

Save a personal copy, bring it to your team, or tailor the questions and workflow to fit what you are hungry to improve.

Member customization and team collaboration are coming soon.

Discussion

Comments and conversation will live here.