productGoogle Sheetscampaignsreportinganalyticsmulti-sequencer
    Cold Email Campaign Reporting Without Five Dashboards

    Cold Email Campaign Reporting Without Five Dashboards

    New in Outreach Magic: one campaign report across Smartlead, Instantly, HeyReach, and every sequencer you run. Google Sheets or agent chat with reply rates, funnels, and sentiment.

    Spencer McMurtryJune 17, 20264 min read

    A client asks "how's the campaign doing?" and you open Smartlead, then Instantly, then HeyReach, then a spreadsheet you built last month. Twenty minutes later you have a number you're not fully sure about.

    There is no off-the-shelf tool that reports across every sequencer an agency runs. So we built campaign stats reporting into Outreach Magic.

    Everything in one workbook

    Ask your agent. It creates a three-sheet Google Workbook from your local SQLite database:

    Sheet 1: Campaign Overview Every campaign in a single table. Send volume, deliverability, reply rates, LinkedIn activity, sentiment counts. Active campaigns highlighted in green, paused in amber. Sort by any column.

    Sheet 2: Campaign Funnels One funnel per active campaign. Emails sent, delivered, replied, interested. You see exactly where leads drop off and where they convert.

    Sheet 3: Lead Sentiment Pivot table showing how tagged leads break down across six sentiment values: positive, interested, neutral, negative, not interested, invalid.

    No dashboard login. No manual formatting.

    Two ways to use it

    1. Tell your agent to make a Google Sheet

    Say something like:

    > "Export campaign stats for my [workspace] workspace over the last 14 days and share it with me."

    The agent queries your local database, builds a multi-sheet workbook, creates it through Outreach Magic's API, and shares it with your email. Takes a few seconds.

    2. Get the data in your chat

    Don't want a Sheet? Ask for the same data as a table:

    > "Pull campaign performance for [workspace]. Show me sends, reply rates, and interested leads per campaign."

    The agent uses the same local data and formats the results in your conversation.

    What makes this different

    Time windows that make sense. Default is last 14 days. You can ask for 7 days, 30 days, 90 days, or everything. Campaigns with recent activity are "active." Sends from before the window but nothing recent? "Paused." No sends ever? "Exhausted." The status detection works for LinkedIn-only campaigns too.

    OOO detection is built in. Auto-replies flagged by your sequencer are counted separately from human replies. You see "Total Replies" and "Manual Replies" side by side. No more inflating your reply rate with out-of-office messages.

    Sentiment follows your leads. When your SDR marks a lead as interested or not interested, that sentiment travels with the lead into the report. The same LATEST_STATUS logic that powers your pipeline view also powers the campaign stats.

    Refresh existing sheets. Share a workbook with a client today and update it next week. The existing sheet gets overwritten. The URL and sharing settings stay the same.

    What the output looks like

    Here's the Campaign Overview for a workspace with five campaigns:

    CampaignStatusSentDeliveredReply %LI Accept %InterestedSentiment Rate
    q4 foundersactive50148910.6%43.1%857%
    webinar inviteactive3123049.2%42.8%563%
    demo requestsactive18618110.5%35.2%375%
    product leaderspausedn/an/an/an/an/an/a
    trade show follow-uppausedn/an/an/an/an/an/a

    Each campaign is one row. The Funnels sheet gives you the detailed conversion view. The Sentiment sheet shows how tagged leads break down across your campaigns.

    How the agent handles it

    Campaign stats is a built-in query preset in the Outreach Magic skill. When you ask your agent for campaign performance data:

    1. The agent connects to your local SQLite database
    2. It runs the campaign-stats query, a set of pre-built SQL queries that pull all the metrics
    3. If you asked for a Google Sheet, it posts the structured data to app.outreachmagic.io, which creates the workbook and handles all the Google API calls
    4. If you asked for a chat response, it formats the data as a table in your conversation

    No Google credentials on your machine, no OAuth flows. The agent API handles all of that.

    Get started

    If you already have the Outreach Magic skill installed with platforms connected, just ask your agent:

    > "Export campaign stats for my workspace and share it with me."

    The full documentation is at /docs/campaign-stats-export with prompts you can copy, example output, and troubleshooting.

    New here? Start with the getting started guide.