Lemlist campaign comparison board for outbound teams
Put four or five Lemlist campaigns side by side on the same rates, see where leads stall, and get an on-demand diagnosis of what to fix.
I want an app my outbound team can open to compare Lemlist campaign performance side by side, so we stop exporting stats into a spreadsheet every time we want to look at a cohort.
The main screen is a campaign comparison board. Load every campaign using the Lemlist List Campaigns operation, which is paginated and can filter by status and creator, and show them in a selectable list. Give the board three controls at the top: a status filter (draft, running, paused, ended, archived, errors), a date range picker, and a channel filter. When I select campaigns, call Get Campaign Stats for each selected campaign, passing the chosen date range and channels, and lay four or five campaigns out side by side.
The comparison must normalize to rates rather than raw counts, because campaigns run at very different volumes and raw counts make a big campaign look better than a small one that is actually converting. Show open rate, reply rate, interested rate, and bounce rate as percentages against the right denominator, and keep the raw counts visible as secondary detail. Include a trend line across the selected window for each campaign so we can tell whether performance is improving or decaying, not just where it landed.
Selecting a single campaign opens a detail view. Pull its configuration with Get Campaign to show how the sequence is set up, including the steps and their delays. Pull its lead state distribution with List Campaign Leads, which can be filtered by lead state, and render it as a funnel so we can see exactly where people stall between contacted, warmed, interested, and bounced. Lemlist lead states are scanned, contacted, warmed, interested, notInterested, unsubscribed, bounced, and paused.
Put a "Diagnose this campaign" button on the detail view that starts a background agent. The agent should call Get Campaign Stats across several time windows, for example the last 7, 30, and 90 days, read the sequence configuration with Get Campaign, and read the lead state distribution with List Campaign Leads. It then writes a plain language diagnosis with specific recommendations, naming which step or which stage of the funnel is the problem rather than restating the numbers. Save the diagnosis in the app attached to that campaign, with the date it was generated, so it stays on the detail view after the agent finishes. Keep previous diagnoses so we can see how the read on a campaign changed over time, and show a clear running state on the button while the agent works.
Give the board two direct actions. First, pause or resume a campaign with Update Campaign, setting its status to paused or running, behind a confirmation step, refreshing that row immediately afterward. Second, export the current comparison to Google Sheets with Append Values, writing one row per selected campaign with the campaign name, the date range and channel filter used, and every normalized rate, so it can go straight into the weekly leadership deck. Let me choose the destination spreadsheet and tab, and offer Create Spreadsheet if I want to start a fresh one.
Let me set a bounce rate threshold in the app, and flag any campaign that crosses it both on the board and in the exported rows. Persist that threshold along with my last used status, date range, and channel filters, so the board comes back the way I left it the next time I open it.
Two implementation notes. Lemlist campaign stats come from the v2 stats endpoint, which genuinely accepts a date range and channels, so expose those as real controls in the UI rather than hardcoding a window. Lemlist is rate limited to 20 requests every 2 seconds per API key, so fetch stats for the selected campaigns with that limit in mind and show a per campaign loading state instead of blocking the whole board on the slowest call.
What does this prompt do?
- Lists every campaign in your Lemlist account with filters for status, date range, and channel, so you pick exactly the cohort you want to look at.
- Compares four or five campaigns side by side on percentages rather than raw counts, so a small pilot and a big push are actually comparable, with a trend line across the window you chose.
- Opens any campaign to show how its sequence is set up and a funnel of where its leads are sitting, from contacted through warmed, interested, and bounced.
- Adds a Diagnose button that hands the campaign to a background assistant, which reads the numbers across several time windows and writes a plain language explanation with specific fixes, saved to that campaign.
- Lets you pause or resume a campaign from the board, and export the current comparison to a spreadsheet for the weekly leadership deck, flagging any campaign whose bounce rate crosses your threshold.
What do I need to use this?
- A Lemlist account with campaigns you are currently running or have run in the past.
- A Google account, if you want to send comparisons into a spreadsheet for reporting.
- A bounce rate you consider too high, so the board knows what to flag.
How can I customize it?
- Change which rates lead the comparison, for example putting reply rate first instead of open rate.
- Set your own bounce rate threshold and how strongly campaigns that cross it get flagged.
- Pick the spreadsheet and tab the weekly export lands in, and which columns it writes.
FAQs
Does this change anything in my Lemlist account?
How many campaigns can I compare at once?
Why does it show percentages instead of raw numbers?
What does the Diagnose button actually do?
Do I need Google Sheets to use this?
Related templates
Every weekday at 10am, an AI voice agent phones your most overdue Xero accounts, logs what each customer promised, and reports back to finance in Slack.
See every Google Maps listing you manage on one screen, ranked worst first, with an audit button that writes the fix list for you.
Your team picks a template, finds the customer, checks they are safe to email, then sends it, with every send logged where the whole team can see it.
Every night at 2am, pull the contacts on your open and won deals and block them from your cold outreach before the next send goes out.
Build every text campaign in one screen: check who is actually reachable, see a realistic send plan, then watch delivery land row by row.
See every LinkedIn ad account's spend against the budget you committed to, catch overspend early, and rebalance without rebuilding a spreadsheet.
Stop rebuilding the same campaign spreadsheet every week.
Give your outbound team one board that compares campaigns on equal footing and explains what is going wrong.