← All posts
OCTOBER 1, 20266 MIN READ

Use ChatGPT to audit your outreach log before you rewrite another message

A hands-on ChatGPT test with a fictional 20-row LinkedIn outreach log: the full input, prompt, actual output and checked counts. Fix the denominator before picking a winner.

Twenty messages, six replies. That looks like a 30% reply rate until you ask what belongs in the denominator. Has every message had time to get a reply? Did you actually check every outcome? Does a polite “no” count as a reply or as interest?

We tested a supplied-data prompt in ChatGPT with a fictional 20-row LinkedIn outreach log on October 1, 2026. It kept an unknown outcome and a one-day-old message out of the rates, showed its arithmetic, and matched our hand count. The useful result was a cleaner accounting of the log, not a better cold-message template.

A creature audits an outreach log, setting aside an unknown outcome and a recent message before counting replies.

The input: twenty fictional first messages

Each row below is one first DM to a different invented lead. There are no follow-ups and no real customer records. A and B are labels, not descriptions of message quality. We deliberately left out the message text, targeting details and revenue, and said assignment was not randomized.

The snapshot is October 1. For this exercise, a row needs seven elapsed calendar days and a checked outcome before it goes into a rate. Seven days is our chosen audit rule, not a proven best waiting period for LinkedIn.

row_id,lead_id,variant,sent_date,status
1,L01,A,2026-09-20,interested
2,L02,A,2026-09-20,declined
3,L03,A,2026-09-20,other_reply
4,L04,A,2026-09-20,no_reply
5,L05,A,2026-09-20,no_reply
6,L06,A,2026-09-20,interested
7,L07,A,2026-09-20,no_reply
8,L08,A,2026-09-20,no_reply
9,L09,A,2026-09-20,no_reply
10,L10,A,2026-09-20,no_reply
11,L11,B,2026-09-20,interested
12,L12,B,2026-09-20,declined
13,L13,B,2026-09-20,no_reply
14,L14,B,2026-09-20,no_reply
15,L15,B,2026-09-20,no_reply
16,L16,B,2026-09-20,no_reply
17,L17,B,2026-09-20,no_reply
18,L18,B,2026-09-20,no_reply
19,L19,B,2026-09-20,unknown
20,L20,B,2026-09-30,no_reply

“Interested,” “declined” and “other_reply” count as any reply. Only “interested” counts as an interested reply. “No_reply” means we checked and found no reply at the snapshot. “Unknown” means we did not check. That distinction is easy to lose in a sheet full of blank cells.

The exact prompt we ran

We pasted this prompt followed by the CSV above into the signed-out ChatGPT web interface. The interface did not identify a specific model version. We did not run the same test in Claude or upload a file, and this response did not show executed analysis code.

Audit this fictional LinkedIn outreach log. It contains no real people or customer data. Snapshot date: 2026-10-01. Each row is one first DM to a different lead; no follow-ups. status values are outcomes recorded at the snapshot. interested, declined and other_reply each count as any reply; only interested counts as an interested reply. no_reply is a known absence of reply, not evidence of rejection. unknown means the outcome has not been checked.

Use a minimum seven elapsed calendar days since sent_date as the observation window. Exclude unknown status and rows with less than seven elapsed days from rate denominators, report those exclusions by row_id separately, and do not silently treat them as failures. Show:
1. Input row count, distinct lead count, duplicate IDs or invalid values.
2. Eligible rows and excluded rows with reasons.
3. For each variant and overall, any-reply and interested-reply numerators, denominators and rates.
4. What the data does and does not justify. Variant assignment was not randomized, and message text, targeting details and business outcomes are absent. Do not pick a winner or invent causes or ROI.
5. One record-quality next step and one bounded future test, not a recommendation to send more messages automatically.
Show your arithmetic and name row IDs supporting your counts. Use only the supplied data; do not browse.

OpenAI’s data-analysis guidance recommends clear column names and one record per row, and says to review methods and assumptions. Supplying the definitions here mattered: “audit my outreach” alone leaves the model to guess what a reply and a mature record mean.

What ChatGPT actually returned

The following is an excerpt from the response, not an expected answer written before the test:

Neither excluded row is treated as a failure.

A any-reply: rows 1,2,3,6 = 4; denominator rows 1–10 = 10.

A interested: rows 1,6 = 2.

B any-reply: rows 11,12 = 2; denominator rows 11–18 = 8.

B interested: row 11 = 1.

It excluded row 19 because its outcome was unknown and row 20 because it was only one day old. Its rate table was:

Group Any reply Interested reply
A 4/10 = 40.0% 2/10 = 20.0%
B 2/8 = 25.0% 1/8 = 12.5%
Overall 6/18 = 33.3% 3/18 = 16.7%

It named rows 1, 2, 3 and 6 for A’s replies, and rows 11 and 12 for B’s. Interested replies were rows 1, 6 and 11. Those matched the answer key we counted before running the prompt; we also checked the arithmetic separately.

The response did not pick a winner. It said the log describes observed rates but does not establish that A or B caused the different outcomes. For its next steps, it recommended checking row 19 while preserving the audit trail, then a limited randomized test with fixed eligibility rules and recorded message, targeting and business outcomes.

No counting or exclusion errors turned up in this run. That is one small test, not a reliability benchmark or a claim that ChatGPT will audit every export correctly.

Check the exclusions before you use the percentage

A pooled 6/20 calculation would include an unchecked lead and a message that had only one day to get a response. Under our stated rules, the eligible count is 18. But deleting the excluded rows would hide work still needing attention. Keep them visible and say why they are out of this calculation.

Also distinguish replies from interest. This log has six replies but only three marked interested. Neither count tells you how many people booked, bought or renewed. Don’t rename “interested” as “qualified pipeline” because it looks better in a report.

If you audit your own log, require row IDs for every count. Check a few rows yourself and reconcile the totals before changing the campaign. If your sheet includes repeated touches to one person, define whether you are measuring people, messages or conversations first. This test has one row per person; a follow-up log needs a different definition.

Use the audit to choose a question, not a winner

There is no message text here to critique, and no basis for saying B’s pitch is worse. The no-replies article covers message and targeting problems. This exercise comes before that diagnosis: establish which records you can count and what those records actually say.

For a future comparison, decide the question and assignment method before sending, keep the recipient group comparable, and record the actual wording. Review sends yourself. A suggestion from an audit is not permission to contact another hundred people or chase everyone labeled “no_reply.” Our follow-up guide treats that as a separate decision.

Start with fictional or properly de-identified data when trying the prompt. A lead log can contain names, profile URLs and private replies. Check your provider’s data controls and your obligations before submitting those records; OpenAI explains how content may be used by product and settings. Removing a name alone may not make a quoted conversation anonymous.

Dollar Outreach queues steps and prefills drafts in your LinkedIn sidebar; you still click send. This exercise uses a separate log you supply. It does not imply Dollar Outreach has an AI audit or a built-in log export.

Test and sources checked October 1, 2026: one signed-out ChatGPT web run, OpenAI’s analysis and data-use guidance, and the linked Dollar Outreach pages. The 20-row dataset is fictional; its percentages are exercise results, not customer performance.

Share the wealth

The outreach copilot that never clicks send for you. Paper, pixels and pacing.

Product

How it worksFeaturesPricingFAQ

Resources

Safety caps explainedWhy you click sendBan survival storiesBlog

Company

PrivacyTerms
© 2026 Dollar Outreach. All rights reserved.Made with paper, pixels and restraint.