I Generated the Same Counter-Offer in 4 Tones and Ran Each Through an AI Detector
Half the salary advice online now ends the same way: paste your role into some generator, pick a tone, copy the script it spits out, send it. I have nothing against that. A script beats freezing up when a recruiter asks what number you had in mind. But there is a quieter problem nobody mentions. Hiring managers read a lot of email, and in 2026 a growing share of them can smell a machine-written message from the subject line. If your carefully generated counter-offer reads like it came out of a chatbot, the number is not the thing that sinks you. The voice is.
So I stopped guessing and measured it. I took one free salary negotiation script tool, gave it a single scenario (countering a lowball offer) and generated the exact same negotiation in all four of its tones. Then I fed each result into an AI-text detector and wrote down the score. Same facts, same numbers, same person. Only the tone changed. The spread surprised me, and the tone I expected to sound the most robotic came out the most human.
The test: one offer, four tones, one detector
I kept every input frozen so the only moving part was tone. The scenario was “countering a lowball offer.” The role was Senior Backend Engineer in tech, eight years of experience, a current offer of $120,000, and a target of $150,000. For the three achievement bullets I used real, specific wins: cut cloud spend 34% by re-architecting the billing pipeline, shipped a fraud-detection service now screening four million events a day, mentored three juniors with two promoted inside a year. Concrete numbers, because vague bullets are their own separate problem.
Then I generated the script four times, switching only the tone selector: Confident & Direct, Collaborative & Warm, Data-Driven & Analytical, and Humble but Firm. Each run produced two script versions plus a short tips block. I ran the raw script text of each tone through the same AI-writing detector I use on my own drafts before anything ships. It returns a 0-to-100 score where higher means more machine-like. Here is the data-driven run mid-generation, so you can see the tool and the inputs I am describing:
The free salary script tool generating the “Data-Driven” counter-offer, using the same frozen inputs, one of four tone runs.
The scores
Lower is better here. A low score means the text reads like a person wrote it.
| Tone | AI-likeness (0–100) | Reads as… |
|---|---|---|
| Data-Driven & Analytical | 2 | Clearly human |
| Humble but Firm | 23 | Mostly human |
| Collaborative & Warm | 28 | Borderline |
| Confident & Direct | 35 | Most machine-like |
I had it backwards going in. If you had asked me to guess, I would have said the “Data-Driven” tone, with its percentiles, market bands, and the word benchmarked, would read the most like a spreadsheet wrote it. It read the most human of the four, by a wide margin. And “Confident & Direct,” the tone that is supposed to sound like a real person putting their foot down, scored the highest on the robot scale. The reason turns out to be simple once you read the two side by side.
Why “Confident” read like a bot
Here is the confident version, lightly trimmed:
Thank you for the offer of $120,000. I want to be straightforward: that’s significantly below what I’m seeing for Senior Backend Engineer positions in tech… I need to be at $150,000 to accept. I’m not trying to negotiate for the sake of it — that number reflects my market value and the results I’ll deliver. Is there flexibility on your end?
Read it out loud and the tells stack up. “I want to be straightforward.” “I have to be honest.” “I’m not trying to negotiate for the sake of it.” These are announcements of a posture rather than the posture itself, the verbal equivalent of a header that says TONE: CONFIDENT. Real confident people rarely narrate that they are being direct; they are just direct. Then it closes on a soft rhetorical question, “Is there flexibility on your end?”, which is the exact hedge-after-a-bold-claim rhythm that AI detectors are tuned to notice. The message is trying to perform confidence, and performance is what reads as synthetic.
Why “Data-Driven” read human
Now the same offer in the data tone:
I’d like to discuss the offer of $120,000. Here’s my analysis: market rate for Senior Backend Engineer in tech sits in the $150,000 range… The offer sits below the 25th percentile for someone with eight years of experience… My counter: $150,000, which is in line with the median. I’d rather we both start with a number grounded in data. Does this align with your internal bands?
There is almost no throat-clearing. It states a fact, attaches a number to it, and moves on to “below the 25th percentile,” “in line with the median,” “your internal bands.” Concrete nouns crowd out the filler phrases, and the closing question is a genuine ask about the company’s pay bands, not a rhetorical softener. Detectors key on generic connective tissue, the “I want to be honest with you” padding, and this version simply has less of it. The lesson is not “always pick the data tone.” It is that specificity is what makes writing sound human, and the data tone happened to force the most of it.
What this actually means for your next email
You do not need to abandon script tools. You need to edit their output like a human would before it leaves your outbox. Three moves cover most of it:
- Delete the posture announcements. Cut every “I want to be honest,” “let me be straightforward,” “I’m not trying to be difficult.” If the sentence describes your tone instead of doing the work, it goes.
- Replace one vague clause with a number. “Below market” becomes “below the 25th percentile for eight years’ experience.” Specificity reads as human and, separately, it is more persuasive. Harvard Business Review’s long-standing negotiation guidance is that you justify the ask with evidence, not adjectives (HBR’s 15 rules for negotiating an offer).
- Kill the rhetorical closer. “Is there flexibility on your end?” is filler. “Can you match $150,000, or should we talk about the equity side?” is a real question that forces a real answer. Indeed’s script guidance makes the same point: state the counter and the reason clearly and stop (Indeed’s salary negotiation scripts).
Run whichever tone fits the relationship, then spend two minutes stripping it of the four or five phrases that scream “generated.” That two minutes is the difference between a message a hiring manager reads as a candidate who did their homework and one they read as a candidate who pasted a template.
Generate the script, then make it sound like you.
The Job Search AI Toolkit is 100+ prompts for the whole offer stage: counter-offer language that avoids the robotic tells, the follow-up note after you send it, and the “what’s your range” answer that comes before any of it. Built for editing, not blind pasting.
Get the Job Search AI Toolkit — $12One caveat about the number itself
An AI detector measures how machine-like the prose is, not whether the negotiation is any good. A perfectly human-sounding email that asks for a number with no justification behind it will still lose to a slightly stiff one backed by real market data. The tone test is about clearing a threshold, so you avoid tripping the “this is a bot” reflex. It is not about winning the negotiation on style. Get the message past the human filter first, then let the evidence do the arguing. If the underlying number is wrong, the smoothest wording in the world will not save it, which is a separate exercise in answering the salary-expectation question before you ever get to the counter.
FAQ
Do salary negotiation scripts really sound like AI to hiring managers?
Some tones do. In my test, the “Confident & Direct” script scored 35 out of 100 on an AI detector while the “Data-Driven” version scored 2, from the exact same inputs. The difference was filler phrases like “I want to be straightforward” and a rhetorical closing question, both patterns detectors flag. A hiring manager who reads a lot of email notices the same rhythm.
Which tone should I use for a counter-offer?
Match the relationship, but bias toward specificity. The data-driven framing read the most human in my test because it swapped vague adjectives for concrete numbers: percentiles, medians, your role’s pay band. You can use any tone and get the same effect by editing out the posture announcements and adding one hard number to justify the ask.
How do I make a generated negotiation email sound less robotic?
Delete the phrases that describe your tone instead of showing it (“let me be honest,” “I want to be direct”), replace one vague clause with a specific number, and turn any rhetorical closing question into a real one that forces a decision. Those three edits removed most of the AI-likeness in the scripts I tested.
Is it a bad idea to use a salary script tool at all?
No. A script is a good starting point, especially if negotiating makes you freeze. The mistake is pasting the output unedited. Generate the structure, then spend two minutes stripping the four or five generic phrases that make it read as machine-written before you send it.
Does an AI detector score tell me if my negotiation will succeed?
No. It only measures how human the prose reads, not whether the ask is justified. A human-sounding email with no evidence behind the number still loses to a stiff one backed by market data. Use the tone check to clear the “this is a bot” filter, then let concrete numbers carry the actual argument.
Related reading: I generated 30 salary negotiation scripts to see which openings recruiters actually respond to, and what happened across 38 counter-offer negotiations. Both use the same “test the advice, don’t repeat it” approach as this post.
← More posts