# 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.

- Workflow type: app
- Services: Lemlist, Google Sheets
- Categories: Sales, Marketing
- Published: 2026-08-31

## What it does

- 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 you'll need

- 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.

## Prompt

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.

## How to customize

- 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.

## FAQ

### Does this change anything in my Lemlist account?

Almost nothing. The board reads your campaigns, their stats, and their leads. The only change it can make is pausing or resuming a campaign, and that happens after you confirm it.

### How many campaigns can I compare at once?

It is built around four or five at a time, which is what fits comfortably side by side. You can select fewer, and you can swap campaigns in and out without losing your filters.

### Why does it show percentages instead of raw numbers?

Because campaigns run at very different volumes, and raw counts make a large campaign look better than a small one that is actually performing well. Normalizing to rates is what makes a cohort comparison honest. The raw counts are still shown as supporting detail.

### What does the Diagnose button actually do?

It starts a background assistant that reviews the campaign across several time windows, looks at how the sequence is set up, and checks where leads are getting stuck. It then writes a plain language diagnosis with specific recommendations, saved to that campaign so you can come back to it later.

### Do I need Google Sheets to use this?

No. The comparison board works on its own. Connecting Google Sheets only adds the export, which is useful if you rebuild the same performance slide every week.

Use this prompt in General Input: https://www.generalinput.com/prompts/lemlist-campaign-comparison-board-for-outbound-teams