Launch a Five-Contact SaaS Message Test

Send five personalized SaaS messages and track which positioning gets replies.

Introduction

30 Second Summary

Strong products can still be hard to explain. When a message speaks to everyone, potential buyers struggle to see why it matters to them.

In this project, you will launch a five-contact message test for your live SaaS through Gmail. One ideal customer profile shapes two positioning variants that become measurable conversations tracked in Google Sheets.

What You'll Build

Your finished experiment puts five individual messages in Gmail's Sent folder alongside a Google Sheets tracker that shows each conversation's positioning variant plus next response state.

By the end of this project, you'll have:

  • A one-segment ideal customer profile that ties one buyer situation to the reason your product matters.
  • A visible message comparison that shows why the broad pitch falls short. One pain-first draft plus one outcome-first draft give you two sharper alternatives.
  • Five permission-aware messages visible in Gmail's Sent folder. Your tracker shows each conversation's positioning variant plus next response state.
  • Secret Mission: Turn one likely objection into a respectful follow-up that changes the message logic without manufacturing urgency.

Are there any prerequisites?

The required setup is a live SaaS product with a working product URL plus a Google Account for Google Sheets and Gmail. Your five relevant contacts must already know you or have agreed to receive product-related messages.

Before We Start

A clear commitment keeps the campaign focused on the live SaaS product whose message you need to improve. Capturing your reason now gives every later comparison a business purpose.

Set Up Your Campaign Tracker

A consistent tracker stops five conversations from turning into disconnected anecdotes. It gives every message a measurable next state.

You'll confirm access to Google Sheets in Safari. Then you'll build the rows that connect each contact to the same campaign structure.

You'll also confirm that Gmail loads with the same Google Account.

In this step, get ready to:
  • Confirm that your Google Account can access both campaign tools.
  • Build the tracker structure in a new Google Sheet.
  • Add six consistent statuses to five campaign rows.
Confirm access to your tools

Safari gives you one signed-in workspace for both Google tools. Confirming access now keeps browser or account problems out of the message test.

  • Press Cmd+Space to open the search bar on your Mac.
  • Type Safari into the search bar.
  • Press Return to open Safari.

You'll see a Safari window open. That confirms the browser is ready.

  • Enter sheets.google.com in Safari's address bar.
  • Press Return to load Google Sheets.

You'll see Google Sheets or Google's sign-in flow.

  • Complete Google's sign-in flow with the confirmed Google Account if prompted.

You should see the Google Sheets home page. Your spreadsheet access is working.

  • Select the plus-shaped control in Safari's tab bar to open a second tab.
  • Enter mail.google.com in Safari's address bar.
  • Press Return to load Gmail.

You'll see Gmail or Google's sign-in flow.

  • Complete Google's sign-in flow with the same Google Account if prompted.

That clears the first setup hurdle. You should see your Gmail inbox in the second Safari tab.

Can't load one of the tools?

  • Confirm that Safari can load another webpage.
  • Complete any Google sign-in prompt with the confirmed account.
  • Reload the affected Google tool after signing in.

Help me diagnose my Google tool access.

Build the tracker structure

An ideal customer profile captures one buyer situation in a repeatable form. The campaign table connects each contact to one message version.

  • Switch back to the Google Sheets tab from earlier.
  • Click New to create a spreadsheet.

That's your tracker created. The blank spreadsheet is now stored in Google Drive under the signed-in account.

  • Select cell A1 in the new spreadsheet.
  • Populate the tracker by pasting this table into cell A1:
Field	Decision
Buyer	
Trigger	
Current workaround	
Pain	
Desired outcome	
Proof	
Disqualifier	

Contact	Why relevant	Version	Personalization	Status	Reply signal	Objection	Next action

How is this tracker organized?

  • Rows 1 through 8 hold the ICP brief under Field and Decision.
  • Row 9 separates the buyer decisions from the campaign records.
  • Row 10 labels the evidence you will capture for each contact.
  • Check rows 1 through 8.

You should see Field beside Decision. The seven ICP fields should fill the rows below.

  • Scroll to row 10.
  • Check rows 11 through 15.

Row 10 should contain all eight campaign headers. You should see five empty campaign rows below it.

Did the table land in one column?

  • Clear the pasted cells if the labels landed in one column.
  • Select cell A1.
  • Paste the table again.

Help me fix my pasted campaign tracker.

Add consistent campaign statuses

A fixed Status dropdown gives all five contacts the same vocabulary. Later responses become comparable campaign signals.

Why use fixed statuses?

Free-text notes can describe the same situation in different ways. Six fixed states make each contact's next position clear.

  • Drag from cell E11 through cell E15 to select the five empty Status cells.
  • Click Data in the top menu.
  • Click Data validation.
  • Click Add rule.
  • Choose Dropdown under Criteria.

You should see the dropdown rule editor with item fields ready for your campaign states.

  • Enter Not sent in the first dropdown item field.
  • Use Add another item to add Sent.
  • Use Add another item to add Replied.
  • Use Add another item to add Interested.
  • Use Add another item to add Not now.
  • Use Add another item to add Opted out.
  • Click Done to apply the rule.

Your tracker now has a shared campaign language. Every contact can move through the same six states.

Before you test the dropdown, which campaign states do you expect to see?

  • Click one empty cell in the E11:E15 range to open its Status dropdown.

You should see Not sent, Sent, Replied, Interested, Not now, and Opted out.

Don't see all six statuses?

  • Select the E11:E15 range again.
  • Confirm that the dropdown rule covers all five Status cells.
  • Check that each campaign status appears once in the rule.

Help me repair my Status dropdown.

Your campaign tracker now gives every future message a measurable next state. Next, you'll test a broad pitch to expose what stronger positioning needs to change.

Test the Broad Pitch

Your tracker now gives every campaign conversation a consistent place to land. The next job is to create a baseline in Gmail.

A feature-level SaaS description can feel complete because it names a product. You need to experience its limits before choosing a narrower buyer.

In this step, get ready to:
  • Send a deliberately broad self-test message to your own Gmail address.
  • Read the delivered message using a five-second relevance test.
  • Record the missing positioning details beside your ideal customer profile brief.
Draft the broad baseline

A baseline gives you a fixed point for comparison. This version uses a broad audience plus a broad benefit to test how much relevance that structure communicates.

  • Switch back to the Gmail tab from earlier.
  • Click Compose.
  • Enter your own Gmail address in the To field.
  • Enter this pattern in the Subject field using your own values for the highlighted text: "product name for broad audience".
  • Enter this message in the email body using your own values for the highlighted text: "Hi your name, I built product name, a SaaS platform that helps broad audience broad benefit. Would you like to take a look?".

Why Use a Self-Test?

Sending the baseline to yourself creates a safe comparison point. You can judge the reader experience before involving any contacts.

Run the five-second test

The delivered message shows you what a recipient receives without the context in your head. A five-second limit tests whether its relevance is immediately clear.

Before you send it, predict whether a reader can understand the product's relevance within five seconds.

  • Click Send.

You should see Message sent in Gmail.

  • Open the newly delivered message addressed to your own Gmail address.
  • Set a five-second limit for the next three checks.
  • Decide who the message is specifically for.
  • Identify the urgent problem it addresses.
  • Identify what changes after someone uses the product.

The message names your product. It does not identify one specific buyer trigger.

It leaves the urgent pain undefined. It gives no measurable or observable outcome.

That shortfall is the result this test needed. You now have a visible baseline for the next version.

  • Leave the delivered baseline unchanged for later comparison.

Message Not Arriving?

  • Confirm that the recipient matches the Gmail address currently signed in.
  • Refresh the Gmail message list to check for the delivered copy.
  • Check the sent message to confirm that Gmail accepted the recipient address.

Help me find my self-test email.

Record the missing positioning details

A weak impression becomes useful positioning evidence once you name the gaps. Recording them beside the ICP brief keeps the next rewrite tied to what the reader could not learn.

  • Switch back to the Google Sheets tracker from earlier.
  • Click the first empty cell beside the ICP brief.
  • Enter Specific buyer trigger is missing.
  • Enter Urgent pain is missing in another empty cell beside the brief.

You should see two separate notes beside the ICP brief. Each note captures a question the baseline could not answer.

  • Enter Measurable or observable outcome is missing in a third empty cell beside the brief.

You should now see all three missing positioning details recorded beside the ICP brief.

Before the final check, predict whether the unchanged baseline resolves any of these three gaps.

  • Switch back to the delivered self-test message in Gmail.
  • Read the delivered message once more without editing it.

You should see the same subject. The body also remains unchanged.

Your product name is present. The buyer trigger remains unspecified.

The urgent pain remains unclear. No measurable or observable outcome appears.

Your baseline now shows exactly where broad positioning loses relevance. Next, you'll narrow the buyer before rebuilding the message around a real situation.

Build Targeted Message Variants

Your broad self-test exposed the missing buyer context in five seconds.

The message described the product before one buyer had a reason to care.

A focused ideal customer profile anchors your positioning to a real buyer trigger. Your two drafts then test which framing earns a response.

In this step, get ready to:
  • Complete an ideal customer profile for one narrow segment.
  • Write one pain-first source draft for that segment.
  • Write one outcome-first source draft for the same segment.
Complete the ICP brief

Your Google Sheets tracker turns the gaps from your broad message into a concrete ideal customer profile. Each decision keeps the new drafts focused on one buyer situation.

What belongs in the ICP brief?

  • The Buyer decision names one exact role in one narrow segment.
  • The Trigger decision names the real situation that creates a reason to act.
  • The Current workaround decision records what the buyer does today.
  • The Pain decision captures the consequence of the current situation.
  • The Desired outcome decision describes the changed state the buyer wants.
  • The Proof decision uses a truthful customer result, product capability, or demonstration.
  • The Disqualifier decision records a condition that makes someone a poor fit for this message.
  • Switch back to the Google Sheets tracker from earlier.
  • Complete the Decision cell beside every ICP field using the definitions above.
  • Review each decision for a claim you can support truthfully.

You should see a decision beside every field from Buyer through Disqualifier. Your five campaign rows remain empty.

That is the core thinking captured. Your tracker now describes one buyer situation that both message variants can test.

Draft the pain-first version

In Gmail, pain-first messaging leads with the consequence the buyer wants to avoid. The trigger makes that consequence relevant now.

A low-friction call to action asks for one small next step. It gives the reader an easy way to respond.

  • Switch back to Gmail from earlier.
  • Click Compose.

You should see a new compose window for Version A.

  • Keep the To field empty so this remains a reusable source draft.
  • Enter a subject that follows specific problem at company or context.

The subject should connect one specific problem to a recognizable company or context.

  • Enter this body using your ICP decisions: Hi first name, I noticed specific trigger. Product helps exact role avoid specific pain by truthful mechanism or proof. Open to one low-friction next step? If this is not relevant, tell me and I will not follow up.

The message should connect the trigger to the pain. Its proof should explain why your product can help.

  • Close the compose window without sending the message.
  • Click Drafts in Gmail's left sidebar.

You should see the pain-first subject in Drafts with no recipient attached.

Version A is ready. It gives the buyer's immediate problem the first word.

Draft the outcome-first version

Outcome-first messaging leads with the changed state the buyer wants. Using the same truthful proof keeps the framing as the meaningful difference between your drafts.

  • Click Compose in Gmail.
  • Keep the To field empty so this remains a reusable source draft.

You should see a second compose window for Version B.

  • Enter a subject that follows desired outcome without current workaround.

The subject should make the desired change visible while naming the workaround the buyer wants to leave behind.

  • Enter this body using the same segment: Hi first name, teams like specific segment often want desired outcome without current workaround. Product helps by truthful mechanism or proof. Open to one low-friction next step? If this is not relevant, tell me and I will not follow up.

The message should make the desired outcome concrete. Its proof should remain accurate.

  • Close the compose window without sending the message.
  • Click Drafts in Gmail's left sidebar.

Before you compare the two drafts, do you expect their opening logic to differ while their proof stays consistent?

  • Open the Version A draft from Drafts.

Version A should name the exact role and trigger. Avoiding the specific pain supplies the outcome.

The proof should be truthful. The final question should offer one low-friction next step.

  • Return to Drafts.
  • Open the Version B draft.

Version B should name the segment and desired outcome. Its current workaround should make the trigger context clear.

The proof should stay truthful. The final question should match Version A's next step.

  • Switch back to the Google Sheets tracker from earlier.

You should see all seven ICP decisions completed. The five campaign rows should remain empty with their existing Status dropdown.

Solid work. You now have two source drafts that test pain-first framing against outcome-first framing for the same narrow segment.

Missing a draft or decision?

Return to the relevant Gmail compose window if a draft is missing. Confirm its subject and body are present before closing it without sending.

Check the Google Sheet for an empty Decision cell if either draft still feels broad.

Help me find the missing detail in my ICP or Gmail drafts.

Your message variants are ready for real people. Next, you will match five relevant contacts to the same segment and personalize each draft.

Prepare the Five-Contact Test

Your completed ideal customer profile gives this campaign a focused audience. Your two Gmail source drafts give it two positioning angles.

The comparison only teaches you something when all five recipients fit the same segment. Each version changes one meaningful idea.

Google Sheets keeps the evidence attached to each contact. The call to action stays consistent across both versions.

In this step, get ready to:
  • Choose five permission-aware contacts from one segment.
  • Create a two-to-three split across the two message versions.
  • Build five separate personalized drafts with verified product links.
Choose five relevant contacts

Each suitable contact matches the Buyer decision within the Trigger situation. Each person also knows you or has explicitly agreed to receive product-related messages.

  • Switch back to the campaign tracker from earlier.
  • Review the completed ICP brief.
  • Choose five people who match the same buyer situation.
  • Enter each person's name in the Contact column.

You should now see five names in the campaign table. All five should belong to the narrow segment defined in your ICP brief.

  • Write one specific piece of relevance evidence in the Why relevant column for each contact.
  • Exclude any contact whose permission or segment fit is uncertain.

Each row should now explain why that person belongs in this test. Specific evidence keeps the five conversations comparable.

What Makes a Contact Eligible?

Use people who already know you or have explicitly agreed to receive product-related messages. This keeps the campaign permission-aware.

Exclude scraped addresses, purchased lists, or mass outreach. A five-person test works best as five respectful conversations.

Assign the two message versions

Message testing becomes clearer when one main idea changes between groups. This test compares pain-first framing with outcome-first framing.

  • Enter Version A in the Version column for two or three contacts.
  • Enter Version B for the remaining contacts.

You should now see a two-to-three split across the five rows. Both versions should appear in the tracker.

  • Confirm that the two source drafts use the same low-friction next step.
  • Confirm that the offer remains identical across both source drafts.

The audience, offer, and next step now stay fixed. The positioning angle becomes the main difference between the two groups.

Why Change Only the Framing?

A controlled comparison gives you a clearer reason for any difference in replies. Changing the audience or offer at the same time would blur that signal.

Create five personalized drafts

Personalization grounds the shared template in a truthful detail about one person. A working product link gives every recipient the same destination.

  • Return to Drafts in Gmail.
  • Open the source draft assigned to your first contact.
  • Click Compose to start a separate message.

This compose window becomes the first campaign draft. The source draft stays unchanged as your reusable template.

  • Enter the first contact's email address in the To field.
  • Recreate the subject using the assigned version's framing.

The message should now have one recipient plus a subject tailored to that person's context. No other recipient should appear in the message.

  • Replace every placeholder in the body with contact-specific details.
  • Add one truthful personalization sentence.

Read the opening lines as that contact. You should immediately see why the message relates to their situation.

  • Add your live product URL to the message.
  • Open the product URL in a new tab to verify its destination.

You should land on the intended live product page. This confirms that the message points to the right destination.

  • Preserve the same low-friction next step used across the campaign.
  • Preserve the sentence that lets the recipient decline further follow-up.

The draft should now contain one positioning angle, one next step, and one clear way to opt out. Every detail should be truthful.

  • Leave the message unsent in Drafts.

Good work. Your first campaign message is personalized without changing the source draft.

  • Repeat the same workflow for each of the remaining four contacts.
  • Use one recipient in each To field.

Gmail's Drafts should now contain five separate campaign messages. Each draft should map to one contact row.

  • Switch back to the campaign tracker.
  • Enter each draft's truthful personalization sentence in the matching Personalization cell.
  • Set every campaign row to Not sent using the existing Status dropdown.

Each tracker row should now show a contact, relevance evidence, a version, personalization, and a Not sent status.

Before the final check, do you expect every campaign row to map to exactly one personalized draft?

  • Return to Drafts in Gmail.
  • Count the five personalized campaign drafts.
  • Switch back to the campaign tracker.
  • Click one cell in the Status column.

You should see five separate personalized campaign drafts plus the two unchanged source drafts. You should also see five complete tracker rows assigned to Version A or Version B.

The selected status cell should show a dropdown containing Not sent, Sent, Replied, Interested, Not now, and Opted out.

Missing a Draft or Tracker Match?

  • Match each draft recipient to a name in the Contact column.
  • Check that the Version entry matches the draft's framing.
  • Create a separate draft for any contact without a matching message.

Help me reconcile my five drafts with my tracker rows.

Your five-contact test is ready to launch. Next up, you will send each message separately and record the campaign baseline.

Launch and Track the Campaign

Your five personalized drafts are ready to start real, permission-aware conversations about your live SaaS product.

Drafts produce no market signal. Sending each one turns your positioning hypothesis into feedback you can track.

You will launch each message individually through Gmail. Google Sheets will give every conversation a measurable next state.

In this step, get ready to:
  • Complete a final accuracy review for all five personalized drafts.
  • Send five separate messages to approved contacts.
  • Define the tracker fields for replies, objections, and next actions.
Review every message before launch

A final review protects each reader's consent. One consistent call to action keeps positioning as the primary difference.

Sending to real contacts can feel exposing, so this review gives you a clear stopping point if any permission or claim feels uncertain.

  • Return to Gmail's Drafts folder from earlier.
  • Open the first personalized campaign draft.
  • Confirm the subject clearly matches that contact's situation.
  • Confirm the sender identity is accurate.
  • Verify the product link reaches the intended live product page.
  • Confirm the message contains one clear call to action.
  • Confirm the message includes the opt-out sentence.

A draft that passes these checks is ready to become part of the test.

  • Repeat this review for each of the remaining four personalized drafts.
  • Remove any contact whose permission or relevance remains uncertain.

Permission or relevance feels uncertain?

  • Remove the uncertain contact from the tracker.
  • Choose another person who matches the same ideal customer profile with confirmed permission.
  • Prepare one replacement draft with the same assigned message version before launch.

Help me replace an uncertain contact without weakening the campaign.

Send each message and update its status

Each send must remain a one-to-one action. This keeps the message tied to the consent and context of one approved contact.

Why send messages manually?

For five contacts, manual sends keep each message tied to one person. They make the send-to-tracker loop visible.

Gmail mail merge requires an eligible Google Workspace plan. This project uses the access already available in your Google Account.

The review is complete, so each click now sends one approved message to one person.

  • Return to the first approved personalized draft in Gmail.
  • Confirm only one address appears in the To field.
  • Click Send.

Gmail displays Message sent with the options Undo and View message.

  • Switch back to the campaign tracker.
  • Set the matching contact's Status cell to Sent.
  • Return to Gmail's Drafts folder.
  • Open the next approved personalized draft.
  • Process each remaining approved contact with the same sequence.

That's the campaign launched. Five separate messages are now creating five traceable opportunities to learn.

Sent count and tracker count do not match?

  • Compare the campaign messages in Sent with the tracker one row at a time.
  • Keep any unmatched row at Not sent until its approved draft has been sent.

Help me reconcile my Gmail messages with my campaign tracker.

Define the tracking signals

The sent count is your baseline. Future responses become useful when every signal has a dedicated place.

  • Record the contact's exact positive or negative phrase in Reply signal.
  • Record the reason behind resistance or delay in Objection.
  • Record the response, product demo, signup check, or no further contact in Next action.

Before you verify the launch, how many separate campaign messages and matching Sent rows should the two tools show?

  • Return to Gmail.
  • Click Sent in the left sidebar.
  • Count the individually sent campaign messages.

You should see five campaign messages as separate sent conversations. Each message should belong to one approved contact.

  • Switch back to the campaign tracker.
  • Check the five cells in the Status column.

You should see all five rows set to Sent. The campaign now has a matching Gmail message and tracker state for every contact.

Strong finish. Your positioning test is live, and every future reply has a clear place to become evidence.

Secret mission

Secret Mission: Turn an Objection into a Follow-Up

One buyer signal can improve more than your wording. Turn one real objection or a temporary No response signal into an unsent follow-up that changes the message's logic while preserving consent and accuracy.

Clean Up Your Resources

Clean Up Your Resources

This project's campaign assets use storage included with your Google Account at no additional cost. Decide whether to keep the campaign assets, pause the experiment, or delete the assets entirely.

Resources you used:

  • The campaign tracker in Google Sheets stored in Google Drive.
  • One delivered broad self-test email in Gmail.
  • Five individual sent campaign messages in Gmail.
  • Two source drafts plus one unsent objection-aware follow-up draft in Gmail.

Keep everything running

No action needed. Choose this if you are still collecting signals from the five conversations.

  • Retain the campaign tracker as your experiment record.
  • Update each contact row when a reply or signup signal arrives.
  • Preserve the two source drafts for future message tests.
  • Leave the objection-aware follow-up unsent until the contact's permission supports another message.

Pause - I'll come back to this later

Pausing freezes the experiment at its current baseline. Your campaign assets remain ready for later replies.

  • Leave every tracker status at its current value.
  • Keep the objection-aware follow-up unsent in Drafts.
  • Wait until a contact replies or permits another message.

Delete - I don't want to use this again

This option gives you a clean reset across Google Drive and Gmail.

Draft deletion is permanent

Deleting the drafts is the irreversible part of this cleanup. Gmail drafts cannot be recovered from Trash.

Move the campaign Sheet to Trash
  • In Safari, go to drive.google.com.
  • Locate the campaign Sheet by matching its one-segment ICP brief.
  • Right-click the campaign Sheet.
  • Click Move to Trash.
  • Select Trash in the Google Drive sidebar.
  • Confirm that the campaign Sheet is listed there.
  • Review the tracker before deciding whether to permanently delete it.

Your tracker is now out of your active Drive files. It continues to use Google Account storage until you permanently delete it from Trash.

Delete the Gmail drafts
  • Switch back to Gmail in Safari.
  • Select Drafts in the left sidebar.
  • Select the two source drafts plus the objection-aware follow-up draft.
  • Click Delete.

You have cleared the unsent campaign copies. Gmail cannot restore those deleted drafts from Trash.

Delete the sent messages
  • Select Sent in the Gmail sidebar.
  • Select the five individual campaign messages.
  • Click Delete.
  • Use the search field at the top of Gmail to locate the delivered broad self-test email.
  • Select the broad self-test email.
  • Click Delete.
  • Select Trash in the Gmail sidebar.

You should see the broad self-test email plus the five campaign messages in Trash.

  • Review the six messages before permanently deleting them.

Nice Work!

Nice Work!

You did it! You launched a five-contact message test for your live SaaS product. Your five sent messages now turn your positioning hypothesis into conversations you can measure.

You've learned how to:

  • Define a one-segment ideal customer profile around a real buying trigger. Connect the buyer's current workaround to a specific pain. Anchor the offer in a desired outcome supported by truthful proof.
  • Expose weak positioning with a deliberately broad self-test email. Build a pain-first messaging variant around one call to action. Build an outcome-first messaging variant around that same request. Personalize five permission-aware messages. Send each one separately through Gmail.
  • Measure the campaign in Google Sheets with consistent status values. Capture exact reply language as qualitative conversion signals. Record each objection beside a specific next action.
  • Secret Mission: Turn one real objection or temporary No response signal into an objection-aware follow-up draft. Add one new piece of truthful value. Keep the draft unsent until the contact's permission supports another message. Check that the context also makes the follow-up appropriate.

Ready to quiz yourself?