Skip to content
NewSee how

Campaign monitoring

Campaign monitoring that shows what happened and what to fix.

A live campaign makes hundreds of small decisions a day. FirstSales lets you see all of them: analytics for every campaign, a per-contact journey, a log of every step, an Alert Center that points you straight to the fix, and Telegram pings when something needs you. You stop guessing why a campaign went quiet.

$1 for 3 days · Cancel anytime · No contract

A campaign's Analytics tab in the FirstSales sample workspace, with journey status counts, pending sends for the next seven days and the engagement strip for sent, delivered, open, click, reply and bounce rates
  • 01

    Sent, delivered, open, click, reply and bounce rates per campaign

  • 02

    A Logs tab that records every step, with level and category filters

  • 03

    An Alert Center with a one-click fix for each problem

  • 04

    Telegram pings for drafts to review and account alerts

The problem

Most teams find out a campaign stalled days after it happened.

Cold email fails quietly. Nothing crashes and nothing turns red on its own. The replies just stop, and you are left guessing whether it was the list, the mailbox, the copy or a setting.

Active does not mean sending

A campaign can read Active for days while nothing goes out, because a mailbox disconnected, credits ran out or drafts are waiting for approval. The status alone will not tell you.

The wrong numbers look good

Open rates are inflated by privacy features that open emails automatically. A campaign can show strong opens and still earn no replies, and it is easy to call that a win.

No trail to follow

When something goes wrong, most tools give you a total and a shrug. Without a record of each step, you change three things at once and never learn which one mattered.

How it works

See it, trace it, then fix it in one place.

Campaign monitoring in FirstSales follows the order you think in. First the numbers, then the story behind them, then the fix.

  1. 01

    Read the numbers

    Open a campaign's Analytics tab. The Engagement strip, the funnel and Sender Health tell you whether the campaign is healthy and where people drop off.

  2. 02

    Trace the story

    Open the Logs tab to see every step the campaign took, newest first. Filter by level and category, or open a contact's journey to see what happened to one person.

  3. 03

    Fix and get told

    The Alert Center lists every open problem with a button that takes you to the fix. Connect Telegram and the alerts that need you reach your phone.

Read the numbers right

Not every metric deserves the same trust.

The Engagement strip shows six numbers. Some tell you the truth about a campaign, and some only hint at it. Here is how much weight each one can carry, and what it really tells you.

  • Reply RateTrust: 3/3Whether the offer and the targeting work. This is the number to steer by.Judge it after a few hundred sends, not after twenty.
  • Bounce RateTrust: 3/3Whether your list is clean. Keep it under 5%, ideally under 2%.Past 5% the app flags a high bounce rate. Stop and clean the list.
  • DeliveredTrust: 2/3How many emails the receiving server accepted.Accepted is not the same as landing in the inbox.
  • Click RateTrust: 2/3Whether a link in the email earned attention.Most cold emails work best with one link or none, so a low number can be fine.
  • Open RateTrust: 1/3A rough read on subject lines and warm-up.Privacy features open emails automatically, so an open may not be a person.

High opens with flat replies is a message problem, not a success. Poor delivery is a list or deliverability problem. The funnel below the strip shows you which one you have.

What you get

Everything you need to watch a campaign, without a second tool.

No exports to a spreadsheet and no separate dashboard. The view of each campaign lives where the campaign does.

  • Campaign analytics

    Sent and Delivered as counts, plus Open, Click, Reply and Bounce Rate, over the date range you pick, with a funnel that shows where people fall off.

  • Per-contact journey

    Click any contact to see a timeline of every step sent, every open and reply, and the reason for any bounce or skip.

  • A log of every step

    The Logs tab records what the campaign did and why, with Total, Errors and Warnings counters, a date range, search, and level and category filters.

  • Alert Center

    One page for workspace health, grouped into Mailboxes, AI, Campaigns, Billing and Connectors, with a fix button on every alert.

  • Telegram alerts

    Connect Telegram with a QR code, no bot token needed. Drafts waiting for review and account alerts reach your phone.

  • Safe pause and resume

    Pause stops sending at once with no checks. Resume re-checks launch readiness and billing first, so a campaign never restarts broken.

From a quiet campaignto the exact cause

Four parts of campaign monitoring you will use every week, and what each one shows you.

  1. Alert Center

    See every open problem on one page

    Open the Alert Center from the alert bell. A health badge at the top reads healthy, warning or critical, with counts for critical, warning and info alerts. Alerts are grouped by Mailboxes, AI, Campaigns, Billing and Connectors, and cover real conditions such as a disconnected mailbox, stalled drafting, a campaign that has sent zero emails, low AI credits or missing email authentication.

    • A fix button on each alert. It links straight to reconnect, top up or set up authentication.
    • Snooze for 24 hours. It comes back if the problem is still there.
    • Resolve when done. Handled alerts move to the Resolved tab.
  2. Logs

    Trace every step a campaign took

    Each campaign has a Logs tab. A counter row shows Total, Errors and Warnings, and the list below runs newest first with a relative time on every entry. Expand a row to see its category and a one-line detail. Critical entries carry the reason inline and say when work will not be retried, so you know waiting will not fix it.

    • Errors is the count to watch. Total and Warnings climb on any long-running campaign. Errors stays small.
    • Date range and search. Narrow to the hours that matter, then search the words the log uses.
    • Level and category chips. Combine them to cut a long log down to a short answer.
  3. Contact journey

    See exactly what happened to one person

    The funnel shows where the whole list drops off. The journey shows one contact. Click a contact in the campaign's analytics to open a timeline of every step sent, each open and reply, and the reason behind any bounce or skip. It is the fastest way to answer a question like why one prospect never got the follow-up.

    • Every step on a timeline. First touch, follow-ups, opens and replies in order.
    • Reasons, not just outcomes. A bounce or a skip shows why it happened.
    • Funnel for the whole list. Spot a drop-off across everyone, then drill into one.
  4. Telegram

    Get told when a campaign needs you

    Go to Connectors, filter by Notifications and click Connect Telegram. Scan the QR code and tap START, or use the link on the same device. FirstSales uses a shared bot, so there is no bot token or chat ID to paste. Click Send test message to confirm it works, then add Telegram as a notification channel in a campaign's Content Approval step.

    • Drafts to review. Each draft waiting for your approval pings your phone.
    • Account alerts. Such as a mailbox disconnecting or credits running low.
    • Test before you rely on it. Send test message confirms a message really arrives.
Active but not sending

Four gates hold every send. Check them in order.

A campaign that reads Active is running, but that does not mean mail is going out. Sending waits on four gates. When the sent count sits at zero, one of them is closed, and it is almost always only one.

  1. 1

    Sender

    Check

    Email Scheduler, then Senders. At least one verified, connected mailbox must be selected.

    Fix

    Reconnect the mailbox from its connector page, or add a verified one, then select it again.

  2. 2

    Schedule window

    Check

    Email Scheduler, then Schedule. Today must be a Sending Day (Monday to Friday by default) in the Campaign Timezone.

    Fix

    Nothing, if today is outside the window. Sending waits for the next one. Otherwise correct the days or timezone.

  3. 3

    Credits

    Check

    Your billing balance. Drafts are written with AI credits, so at zero nothing new is drafted.

    Fix

    Top up from billing, or follow the credits alert in the Alert Center. Sending picks up again.

  4. 4

    Approval queue

    Check

    The Content Approval step. If every draft needs your approval, drafts wait until you act.

    Fix

    Approve the waiting drafts, or switch to a mode that releases drafts on its own.

There is no force-send button. Open the gate that is closed and the next scheduled window sends on its own.

Plain guide

Campaign monitoring, explained without jargon.

What to watch on a live cold email campaign, how often, and how to work from a symptom to its cause without changing everything at once.

  1. 01

    What campaign monitoring means

    Campaign monitoring is the habit of checking a live campaign's numbers and behaviour so you catch problems while they are small. It covers three questions. Is the campaign sending? Is the mail landing and getting replies? And if not, which part broke? A good monitoring setup answers all three from the same place, without exports or a second tool.

  2. 02

    Judge by replies, not opens

    For cold outreach, the reply rate, and positive replies above all, is the real signal. Opens only tell you that a subject line got seen, and even that is shaky, because privacy features in some mail apps open emails automatically. If you are at zero replies after a few hundred sends, the problem is usually the targeting or the offer, not the volume. Sending more will not fix it.

  3. 03

    Watch the bounce rate every day

    The bounce rate protects your sending reputation. Keep it under 5%, and ideally under 2%. Past 5% the app flags a high bounce rate and the Sender Health card for that mailbox turns red. Treat that as a stop sign: pause, clean the list or rest the mailbox, then resume. Sending through it pulls every future email toward spam.

  4. 04

    Use the funnel to find the leak

    Below the Engagement strip, the funnel shows how many people move from delivered to opened to replied. It tells you where to look. Good delivery with poor replies is a message problem, so work on the copy or the offer. Poor delivery is a list or deliverability problem, so work on cleaning, warm-up and authentication. Knowing which one you have saves you from fixing the wrong thing.

  5. 05

    Read the log as a story

    The Logs tab lists entries newest first, so scrolling down walks you back through the campaign's day. Most entries are routine, like the hourly check for new contacts to work. Do not read every row. Scan for change instead: a new kind of entry, a familiar one that stopped, or a run of the same check finding nothing. The time where the pattern changes is usually where the answer is.

  6. 06

    Give A/B tests enough sends

    When a step has A/B variants, analytics breaks the results out per variant, so you can compare reply rates. A handful of replies is not a verdict. Let each variant collect enough sends before you call it. Picking the winner is up to you: review the numbers, then edit or delete the variant that lost.

  7. 07

    Change one thing at a time

    When a campaign underperforms, the temptation is to change the list, the copy and the schedule together. Then you never learn what worked. Change one thing, watch it for a few days, and check the log and the analytics again. Pause is always safe if you need to stop while you think, because it runs no checks, and Resume makes sure the campaign is ready before it restarts.

Log filter recipes

A thousand log lines, and the five that matter.

The Logs tab has two rows of filter chips: level (how bad) and category (which part of the system). Combine them and a long log turns into a short answer. These are the combinations that do most of the work.

FilterAnswers the question
criticalWhat stopped for good? Start here when a campaign is not sending.
lifecycleDid someone pause, resume or change the campaign's state, and when?
errorintegrationIs a mailbox or an outside service failing, rather than my campaign setup?
aiWhat was drafted, for whom, and under which step?
user-actionDid a person change this, or did the system do it on its own?
infoexecutionIs the campaign finding contacts to work each hour, or coming up empty?

Filters combine rather than replace each other. Clear them between questions, because a leftover filter is the most common reason a log looks empty when it is not.

Every week

A campaign monitoring checklist

Five minutes per campaign. Run it weekly, and every day for the first week of a new campaign.

  • The Alert Center badge reads healthy, or every open alert has an owner
  • The sent count moved during the last scheduled window
  • Reply rate is judged after a few hundred sends, not a dozen
  • Bounce rate is under 5%, and ideally under 2%
  • No Sender Health card is red
  • The Logs tab shows no new critical entries since last week
  • No drafts are waiting in the approval queue longer than you meant
  • Telegram is connected and the test message arrived
  • A/B variants have enough sends before a winner is picked
  • Only one thing changed since the last check
“I have always struggled in cold outreach. However, Firstsales has provided an excellent tool for cold outreach.”
Kaushal S.Founder, small business · G2
Before and after

Watching a campaign, by guesswork and with FirstSales

The same goal, knowing a campaign is healthy, handled two very different ways.

Without a monitoring view

Totals, guesses and a lot of waiting.

  • Active, but is it sending?You find out from a quiet inbox.
  • Open rate as the scoreboardInflated numbers that hide a weak offer.
  • No record of each stepYou guess what the campaign did.
  • Problems found by accidentA disconnected mailbox sits unnoticed.
  • Checking from a laptop onlyDrafts wait while you are away.
  • Restart and hopeA paused campaign resumes with the same fault.
With FirstSales

Numbers, a trail and a fix button.

  • Four gates, checked in orderFind the closed one in minutes.
  • Reply rate firstOpen rate read as a rough hint only.
  • A log of every stepFiltered by level and category.
  • Alert CenterEvery problem with a fix button.
  • Telegram pingsReview drafts and see alerts on your phone.
  • Resume with checksReadiness and billing are checked first.
Why teams switch

Campaign monitoring: FirstSales compared with a typical tool

Most tools show you totals. FirstSales shows you the totals, the trail behind them and the way to the fix, inside the same campaign.

Campaign monitoring in FirstSales and in a typical cold email tool
What you getTypical toolFirstSales
Engagement metricsVariesSent, delivered, open, click, reply, bounce
Per-contact historyVariesJourney timeline with bounce and skip reasons
Step-by-step logVariesLogs tab with level and category filters
Workspace alertsVariesAlert Center with one-click fixes
Phone notificationsVariesTelegram, connected with a QR code
A/B resultsVariesPer-variant reply rates
Resume safetyVariesReadiness and billing checked on Resume
PriceVariesFrom $29/mo, monitoring included
Start your $1 trial

Questions,answered plainly.

Can’t find yours? Write to us.

01What is campaign monitoring?

It is checking a live campaign's numbers and behaviour so you catch problems early. In FirstSales that means the Analytics tab, the Logs tab, the Alert Center and Telegram alerts, all tied to the campaign.

02Which metric should I judge a cold campaign on?

Positive reply rate and meetings booked. Open rate is inflated by privacy features that open emails automatically, so it does not prove a person read the email. Replies do.

03My campaign is Active but nothing is sending. Why?

Active only means the workflow is running. Sending waits on four gates: a connected sender, an open schedule window, available credits and drafts that are not held for approval. Check them in that order. One of them is closed.

04Is there a button to force a campaign to send now?

No. There is no force-send. Fix the gate that is blocking it and the next scheduled window sends on its own.

05What does snoozing an alert do?

It quiets the alert for 24 hours. If the problem is still there after that, the alert comes back. Use Resolve once you have fixed it, and the alert moves to the Resolved tab.

06Do I need my own Telegram bot?

No. FirstSales uses a shared bot. You connect by scanning a QR code or opening a link and tapping START. There is no bot token or chat ID to paste.

07Can I see logs across all campaigns at once?

No. Logs are per campaign, so a problem that touches several campaigns has to be checked in each one. The Alert Center is the workspace-wide view.

08Does pausing a campaign run any checks?

No. Pause stops sending at once, so it is always a safe emergency stop. Resume re-checks launch readiness and billing before the campaign starts again.

Outreach that keeps going after you log off.Leads, emails, follow-ups and replies, handled.

Connect unlimited mailboxes and let AI agents find leads, write each email and follow up. Or send your own templates in manual mode. From $29/mo.

$1 for 3 days · Cancel anytime · No contract

Install with AI

Your coding agent sets up the FirstSales CLI and skills for you.

Prompt for Claude Code

I'm setting up FirstSales (https://firstsales.io), an AI outbound sales platform: campaigns, contacts, a reply inbox, deliverability and lead signals. Help me get my workspace sending real, good emails end to end, from Claude Code.

Read these first so you know how FirstSales works:
- Developer docs and API: https://developer.firstsales.io
- CLI: https://www.npmjs.com/package/@firstsales.io/cli
- Skills for coding agents: https://github.com/firstsalesio/firstsales-skills (read README.md and GUIDE.md)

Setup
1. Install the CLI: npm install -g @firstsales.io/cli
2. Install the FirstSales skills:
   claude plugin marketplace add firstsalesio/firstsales-skills
   claude plugin install firstsales@firstsales
3. Ask me if I already have a FirstSales account. If not, send me to https://app.firstsales.io to sign up.
4. Ask me to create an API key under Settings → API → API Keys, with only the scopes we need.
   Never ask me to paste the key into this chat. Tell me to run this in my own terminal, so the key stays hidden:
   read -rs FS_KEY && firstsales auth login --api-key "$FS_KEY"; unset FS_KEY
5. Run `firstsales whoami` and tell me which workspace and organisation we are connected to.

Then ask me about my business: what I sell, who I sell to (roles, company size, countries), my best customers, and what I use today for outbound (tools, lists, mailboxes). Walk me through:
1. Teaching FirstSales my business: website, offer, proof points and case studies in the knowledge base, so the AI writes like someone who knows the product.
2. Connecting my sending mailboxes and checking my sending domain: SPF, DKIM, DMARC and warm-up. If anything is unhealthy, tell me the exact DNS record to add.
3. Bringing in contacts: import my CSV or CRM export into a clean list, remove duplicates and bad emails, and block domains I must never email (customers, competitors, my own).
4. Building my first campaign: the right list, senders, steps and timing. Write the sequence with me, show me the drafts, and do not launch until I say yes.
5. Setting up Signals if it fits: find people engaging with LinkedIn posts about topics my buyers care about, and turn them into leads.
6. Inviting my team and giving each person the right access.

Once campaigns run, show me how to work the reply inbox from here: which replies need an answer, draft responses in my voice, and move good conversations into deals. If I use Cal.com, connect it so follow-ups can offer my booking link (not the first email).

Throughout, as you learn about my business, proactively suggest and help create:
- Reply templates for the questions and objections my prospects are likely to raise, based on my product, site and codebase if you can see them.
- Campaign ideas and segments worth testing, with the reason for each.

Safety rules:
- Show every change as a dry run (--dry-run) first and wait for my yes. Never send emails, launch campaigns or delete anything without my yes.
- Tell me before anything that spends credits, and how many.

Be opinionated. If the docs give a sensible default, just use it. Don't make me choose between five options.