Standard Operating Procedure

Stop Landing in Spam.
Start Landing in Inboxes.

A complete, step-by-step guide for real estate photographers sending email campaigns — from domain setup to hitting send safely.

6 Phases · 22 Steps
One-time setup + weekly habits
cineminn.com · Full Time RE Photography community
🔐
Phase 1 · One-Time Setup (Do This First)
Domain Authentication
💡
Why This Matters Think of SPF, DKIM, and DMARC like a "Verified" badge on Instagram. Without them, Gmail looks at your email and says "I don't know who this is" — and sends it straight to spam. This is a one-time setup that takes about 30 minutes.
1
Set Up Your Two Sending Domains
⏱ 5 min · Do this before anything else

You have two domains. Each one gets a different job. Never cold-email from your main brand domain. If it gets flagged, your whole brand reputation gets hurt.

DomainPurposeWho Sends From It
cineminn.com Warm newsletters, community updates, clients who already know you You (or your VA for newsletters)
MinnesotaRealEstatePhotography.com Cold outreach to new real estate agents who don't know you yet Your VA for prospecting
⚠️
Rule #1 — Never Negotiate On This Do NOT use cineminn.com for cold outreach. Ever. One bad cold campaign can destroy the email reputation you've built for your whole brand.
2
Add Your SPF Record
⏱ 10 min · Log in to your domain host (GoDaddy, Namecheap, Cloudflare, etc.)

SPF tells email servers "these are the only services allowed to send email from my domain." You add it in your domain's DNS settings. Here's exactly how:

  1. Log in to wherever you bought your domain (GoDaddy, Namecheap, Cloudflare, etc.)
  2. Find DNS Settings or DNS Management
  3. Click Add Record
  4. Choose type: TXT
  5. In the "Host" or "Name" field, type: @
  6. In the "Value" or "Content" field, paste the record below for your email tool
  7. Save. Wait 15–30 minutes for it to take effect.

SPF Records by Email Tool

# If you use Google Workspace / Gmail: v=spf1 include:_spf.google.com ~all # If you use Mailchimp: v=spf1 include:servers.mcsv.net ~all # If you use ActiveCampaign: v=spf1 include:em.activecampaign.com ~all # If you use multiple tools (most common): v=spf1 include:_spf.google.com include:servers.mcsv.net ~all
ℹ️
You Can Only Have ONE SPF Record If you already have an SPF record, don't add a new one — edit the existing one to include your new service. Having two SPF records breaks both of them.

Do this for BOTH domains: cineminn.com and MinnesotaRealEstatePhotography.com

3
Add Your DKIM Record
⏱ 10 min · Found inside your email tool's settings

DKIM is like a digital wax seal on your emails. It proves the email wasn't tampered with between you and the reader. Every major email tool (Mailchimp, ActiveCampaign, Google Workspace) gives you a DKIM key to copy and paste.

  1. Log in to your email sending tool (Mailchimp, ActiveCampaign, etc.)
  2. Go to Settings → Domains or Account Settings → Email Authentication
  3. Click Authenticate Domain or Set Up DKIM
  4. Your tool will give you 1–2 CNAME or TXT records to copy
  5. Go back to your domain DNS settings
  6. Add those exact records (copy-paste — don't retype)
  7. Come back to your tool and click Verify
How to Know It Worked Your email tool will show a green checkmark or "Verified" status next to your domain. Some tools take up to 48 hours to verify — that's normal.
4
Add Your DMARC Record
⏱ 5 min · Start at "none" — do not skip this step

DMARC is the boss that ties SPF and DKIM together. It tells email servers what to do if someone tries to fake your domain. Start on "none" (monitor mode) for 30 days, then upgrade to "reject."

  1. Go back to your DNS settings
  2. Add a new TXT record
  3. Host/Name: _dmarc
  4. Value: paste the record below

DMARC Record — Start Here (Week 1–4)

# STEP 1: Monitor mode — use this for first 30 days v=DMARC1; p=none; rua=mailto:dmarc@cineminn.com # STEP 2: After 30 days with no issues, upgrade to this v=DMARC1; p=quarantine; rua=mailto:dmarc@cineminn.com # STEP 3: After another 30 clean days, use this (strongest) v=DMARC1; p=reject; rua=mailto:dmarc@cineminn.com
💡
Why Start at "none"? If you jump straight to "reject" and your SPF/DKIM has a typo, your legitimate emails get blocked. Starting at "none" lets you watch without consequences.
5
Set Up Google Postmaster Tools (Free)
⏱ 10 min · This monitors your Gmail reputation for free

Google Postmaster Tools shows you exactly how Gmail views your domain — like a credit score for your emails. It's free and takes 10 minutes to set up.

  1. Go to postmaster.google.com
  2. Sign in with a Google account
  3. Click the + button to add a domain
  4. Type cineminn.com — click Next
  5. Google will give you a TXT record to add to your DNS
  6. Add it (same way as above) then click Verify
  7. Repeat for MinnesotaRealEstatePhotography.com
What You Can See Domain reputation, spam rate, delivery errors, and whether Gmail is rejecting your emails. Check it every Monday morning — takes 2 minutes.
🔥
Phase 2 · Before Your First Campaign
Domain Warm-Up
⚠️
Critical — Don't Skip This A brand new domain that sends 500 emails on Day 1 looks exactly like a spammer. Gmail will blacklist it immediately. Warm-up is how you build trust by gradually proving you're a real person, not a bot.
6
Follow the 4-Week Warm-Up Schedule
⏱ Applies to MinnesotaRealEstatePhotography.com (cold outreach domain)

This schedule is for MinnesotaRealEstatePhotography.com. If cineminn.com is a new domain too, follow the same schedule for it.

WeekEmails/DayRules for That Week
Week 1 20–30/day Plain text only. No images. No links. Just real, conversational emails to people who know you.
Week 2 50–75/day Can add 1 link. Still keep it plain. Only email people likely to reply.
Week 3 100–150/day Can now send to cold leads. Keep subject lines conversational. Monitor spam rates daily.
Week 4+ 200–300/day Full cold outreach. Stay under 300/day per inbox. Watch metrics closely this week.
💡
Want to Go Faster? Use a Warm-Up Tool Tools like Instantly.ai or MailReach automatically send and reply to warm-up emails for you 24/7. They simulate real engagement so Gmail trusts your domain faster. Cost: ~$30–50/month. Worth every penny.

The "you're ready" test: Go to mail-tester.com, send them a test email, and aim for a score of 8/10 or higher before scaling up.

7
Run a Spam Score Test Before Every Campaign
⏱ 3 min · Do this before EVERY send

This is your pre-flight check. Every pilot runs one before takeoff. You run this before every email campaign.

  1. Go to mail-tester.com (free — no signup needed)
  2. Copy the unique email address it gives you (e.g., test-abc123@mail-tester.com)
  3. Send your campaign email to that address exactly as you would send it to your list
  4. Wait 1–2 minutes, then click Check Your Score
  5. Read the results
Score to Aim For
8+/10
Green light — safe to send
Needs Work
6–7/10
Fix the flagged issues first
Do Not Send
<6/10
Stop — fix major issues

Mail-Tester will show you exactly what's wrong (broken SPF, missing unsubscribe link, spam trigger words, etc.). Fix each issue and re-test until you hit 8+.

📋
Phase 3 · Ongoing (Weekly/Monthly)
List Management
💡
Your List Is Like a Garden If you don't prune it, it dies. A dirty list full of bad emails, unsubscribers, and disengaged contacts will tank your reputation fast. Clean it regularly — it's not about having a big list, it's about having a good list.
8
Only Use Lists You Built Yourself
⏱ Rule — applies always

This is non-negotiable. Never buy an email list. Never rent one. Never scrape one. Here's why this matters in plain English:

  • Bought lists are full of fake emails, spam traps, and people who never asked to hear from you
  • A spam trap is a fake email address that ISPs (Gmail, Yahoo) use to catch spammers — hitting even one can get your domain blacklisted
  • CAN-SPAM and GDPR laws can fine you thousands of dollars for emailing people without consent
  • Organic lists get 5x higher open rates than bought lists anyway — they're just better
🚫
Hard Stop If anyone hands you a list of emails they "found" or "bought" — do not load it into your email tool. Delete it. The damage is not worth any short-term gain.
9
Clean Your List Before Every Major Campaign
⏱ 30 min · Do this before any send to 500+ people

Email list validation checks every email address to see if it's real before you send. This prevents bounces, which protect your sender reputation.

  1. Export your list from your email tool as a CSV file
  2. Go to ZeroBounce.net or Bouncer.io (both have free credits to start)
  3. Upload your CSV file
  4. Wait for the scan to finish (usually 5–20 minutes)
  5. Download the results
  6. Keep: Valid emails only
  7. Delete: Invalid, Spam Trap, Catch-All emails
  8. Upload your cleaned list back to your email tool
Healthy Bounce Rate Goal Keep your hard bounce rate under 2%. If it's higher, clean your list more aggressively. Most email platforms will suspend your account if bounces go above 5%.
10
Handle Unsubscribes Immediately
⏱ Automated — set it and forget it

Every email you send must have a working unsubscribe link. This isn't just good practice — it's the law. And more importantly, someone who unsubscribes is much better for you than someone who hits "Mark as Spam."

  • Use your email tool's built-in unsubscribe link — Mailchimp, ActiveCampaign, and all major tools add this automatically
  • Never hide the unsubscribe link (small font, white text, etc.) — this gets you blacklisted
  • When someone unsubscribes, they are automatically removed from future sends — do not manually re-add them
  • Check once a month that your unsubscribe link actually works — send yourself a test email and click it
11
Re-Engage or Remove Inactive Contacts
⏱ Monthly — run this process every 90 days

If someone hasn't opened one of your emails in 90 days, they're "inactive." Sending to inactive people hurts your open rate and signals to Gmail that your emails aren't wanted. Here's what to do:

  1. In your email tool, filter contacts who haven't opened any email in the last 90 days
  2. Create a segment called "90-Day Inactive"
  3. Send them a 3-email re-engagement sequence over 2 weeks:
EmailSubject LineContent
Email 1 (Day 1) "Are we still cool?" Short, honest message. Ask if they still want to hear from you. Include one-click "Keep me subscribed" button.
Email 2 (Day 5) "Last chance — we miss you" Give them something valuable (a tip, a freebie). One more "Stay subscribed" button.
Email 3 (Day 10) "We're removing you tomorrow" Tell them they'll be removed if they don't click. Creates urgency.

Anyone who doesn't open or click any of these 3 emails: remove them from your active list. They're done. Letting go of them protects everyone who IS engaged.

12
Immediately Delete Hard Bounces
⏱ After every send — check within 24 hours

A hard bounce means the email address doesn't exist. Sending to it again is like mailing a letter to a house that burned down — it just makes you look bad.

  • After every campaign, log in to your email tool and check the Bounce Report
  • Hard bounces (permanent failures) = delete immediately, forever
  • Soft bounces (temporary, like inbox full) = keep but flag; delete after 3 soft bounces in a row
  • Most email tools handle this automatically — double check your settings are set to "auto-suppress hard bounces"
✍️
Phase 4 · Every Campaign
Writing Emails That Land in Inbox
💡
The Big Idea Gmail reads your emails before your recipients do. It's looking for patterns that look like spam. Your job is to write emails that look like something a real person wrote to another real person — because that's what they are.
13
Write Subject Lines That Don't Trigger Spam
⏱ Every email — takes 5 min per campaign

Your subject line is the first thing both Gmail and your reader sees. Bad subject lines = spam folder before anyone even reads your message.

❌ Don't Write✅ Write This Instead
FREE photos for your listings!!! Quick question about your Maple Grove listing
LIMITED TIME OFFER — ACT NOW This is what I sent Sarah last week
Make money with real estate photography I photographed 3 homes in Eden Prairie this week
AMAZING deal you can't miss 🔥🔥🔥 Noticed your listing on Zillow
Guaranteed results — 100% proven Before & after — 123 Oak St

The formula for a great subject line: Write it like you're texting a colleague. Specific. Human. No exclamation marks. No all-caps. No spam trigger words (see Step 14).

14
Run a Spam Word Check Before Sending
⏱ 2 min per campaign — use Ctrl+F to scan your email

Certain words automatically trigger spam filters. Before sending any email, use Ctrl+F (Find) to check if any of these words appear in your email body or subject line:

CategoryWords to Avoid
Sales Urgency Act now, Limited time, Don't delay, Order now, Urgent, Once in a lifetime, Offer expires
Money Language Free, Guarantee, No cost, 100%, Cash, Earn money, Extra income, Financial freedom
Clickbait Amazing, Incredible, Unbelievable, You won't believe, Shocking, Exclusive deal
Use Sparingly Sale, Discount, Save, Bonus, Opportunity, Solution, Results, Proven
💡
Easy Tool for This Go to subjectline.com (free) and paste your subject line. It gives you an instant score and flags any issues. Aim for 70+ score.
15
Use the Right Email Format for Each Audience
⏱ Decide before writing each campaign

The format of your email (plain text vs. designed HTML) matters a lot. Use the wrong one and you'll land in the wrong folder.

FormatUse ForWhy It Works
Plain Text
No images, no colors, looks like a regular email
Cold outreach from MinnesotaRealEstatePhotography.com Looks like a real person wrote it. Gmail loves it. Goes to Primary inbox far more often.
Lightly Formatted HTML
Simple layout, 1 image max, minimal color
Follow-up sequences to warm leads who already replied Professional enough to look legit, simple enough not to trigger Promotions tab.
Full HTML Newsletter
Header image, branding, buttons, multiple sections
Newsletter to existing clients and subscribers via cineminn.com Your list already knows you. Expectations are set. They expect a designed email.
16
Escape the Gmail Promotions Tab
⏱ Apply these tactics to every email going to Gmail users

Gmail's Promotions tab is where emails go to be ignored. Here's exactly how to keep your emails in the Primary inbox instead:

  • Send from a real person's name. Use Alex from Cineminn or Alex @ MinnesotaREP — NOT marketing@, info@, or noreply@. Gmail trusts human names.
  • Ask for a reply. End every cold email with a simple question. Replies are the #1 signal to Gmail that your emails are wanted. ("Does this sound like something that would work for your listings?")
  • Remove heavy HTML. One image max. No more than one tracking link. No giant banner headers.
  • No "Unsubscribe" at the top. Put it in the footer, but don't make it the first thing Gmail sees.
  • In your welcome email, ask new subscribers to drag your email to their Primary tab. ("P.S. — to make sure my emails land in your Primary inbox, drag this email out of Promotions and drop it in Primary. Takes 2 seconds!")
The Single Biggest Promotions Escape Tactic Ask for replies. Every reply trains Gmail to route future emails from you to Primary. Even a "thanks, got it!" from 10% of your list will dramatically improve your inbox placement within 2 weeks.
📅
Phase 5 · Every Campaign
Sending Rules & Frequency
17
Follow the Daily Volume Limits
⏱ Hard rule — never exceed these numbers

Sending too many emails from a single inbox in one day screams spam to Gmail. Spread your sends across inboxes and time.

ScenarioMax Per Inbox/DayNotes
Fully warmed domain (60+ days old) 300/inbox/day Max for cold outreach. Stay at 200 to be safe.
New domain (Week 4) 150/inbox/day Still building trust. Don't push it.
Newsletter to warm list 2,000+/day Warm audiences have different rules. Use Mailchimp/ActiveCampaign — they handle this.
💡
Want to Send More Cold Emails? Use 3 inboxes max per domain. So MinnesotaRealEstatePhotography.com could have alex@, team@, and hello@ — each sending 200/day = 600 cold emails per day total.
18
Set the Right Sending Frequency
⏱ Strategic decision per audience type

How often you send matters as much as what you send. Too little and people forget who you are. Too much and they unsubscribe or mark you as spam.

AudienceFrequencyWhat to Send
Cold leads (new real estate agents) 1 email every 3–4 days
Max 5-email sequence then stop
Short prospecting emails. Each one from a slightly different angle.
Warm leads (replied but didn't book) 1 email per week Value-add content, case studies, social proof, gentle follow-up.
Active clients As needed + 1 newsletter/month Booking confirmations, delivery updates, monthly value email.
Community / subscribers 1–2x per week max Tips, behind-the-scenes, new listings you've shot, real estate market updates.
19
Send at the Right Time
⏱ Set this once in your email tool's schedule settings

Real estate agents are busy people. Send when they're actually at their desk and in "business mode."

AudienceBest DaysBest Time
Real estate agents (cold + warm) Tuesday, Wednesday, Thursday 8–10 AM or 1–3 PM (their local time)
Your subscriber community Tuesday or Thursday 9–11 AM
Avoid Monday mornings, Friday afternoons, weekends Low open rates, emails get buried
💡
Use "Send Time Optimization" Most email tools (Mailchimp, ActiveCampaign, etc.) have a feature that automatically sends each email at the best time for each individual subscriber based on when they historically open emails. Turn this on.
📊
Phase 6 · After Every Send + Weekly Habit
Monitoring & Health Checks
⚠️
Most People Skip This. Don't. The metrics after a campaign tell you whether your next campaign will land in the inbox or the spam folder. Check them within 48 hours of every send.
20
Check These Metrics 48 Hours After Every Send
⏱ 10 min — log in to your email tool's analytics

Log in to your email tool after every campaign and check each of these numbers. If anything falls outside the healthy range, stop sending until you investigate.

Open Rate (Warm List)
20%+
Below 15% = problem
Open Rate (Cold)
30%+
Cold emails need higher rate
Click Rate
2%+
Below 1% = weak content
Spam Complaint Rate
<0.10%
Above 0.3% = emergency
Hard Bounce Rate
<2%
Above 2% = clean your list
Unsubscribe Rate
<0.5%
Above 1% = content issue
21
Check Google Postmaster Tools Every Monday
⏱ 2 min every Monday morning

Every Monday, open Google Postmaster Tools and do a quick 5-point health check:

  • Domain Reputation: shows High or Medium (not Low or Bad)
  • Spam Rate: below 0.10% (the graph line should be flat near the bottom)
  • Delivery Errors: should show 0% or very close to it
  • Authentication: SPF and DKIM show green checkmarks
  • Screenshot the dashboard and save to your monthly folder
🚨
Red Alert — Stop All Sends Immediately If: Domain reputation shows "Low" or "Bad" — or spam rate exceeds 0.3% — escalate to your boss right away (see Escalation Protocol below).
22
Run a Monthly Blacklist Check
⏱ 5 min — first Monday of each month

Getting on an email blacklist means ISPs (Gmail, Yahoo, Outlook) actively block your emails. This check takes 5 minutes and can save you weeks of deliverability headaches.

  1. Go to mxtoolbox.com/blacklists.aspx
  2. Type cineminn.com in the search box and hit Enter
  3. Wait 30 seconds for results
  4. All should show green checkmarks. If any show red — screenshot it immediately and contact your email tool's support
  5. Repeat with MinnesotaRealEstatePhotography.com
If You Are Blacklisted Don't panic. Most blacklists have a "delist request" form. Stop all sending from that domain, submit the delist request, fix whatever caused the problem (usually: spam complaints or purchased list), then wait 24–72 hours. Your email tool support can walk you through this.

📋 Campaign Launch Checklist

Copy this into every campaign doc. Check every box before hitting send. Zero exceptions.

🔐 Authentication (One-Time — Just Verify It's Still Active)
  • SPF record is live and correct for sending domain
  • DKIM is verified in email tool (green checkmark showing)
  • DMARC record is in DNS
📋 List
  • List was cleaned with ZeroBounce/Bouncer (within last 30 days)
  • No purchased or rented contacts on this list
  • Inactive contacts (90+ days) have been removed or re-engagement sequence was sent
  • Correct segment selected (not accidentally sending to the whole database)
✍️ Email Content
  • Subject line checked on subjectline.com — score 70+
  • No spam trigger words in subject or body (Ctrl+F check done)
  • From name is a real person (not "marketing@" or "info@")
  • Unsubscribe link is in the footer and working
  • Email ends with a question or call-to-reply
  • HTML emails: max 1 image, minimal formatting
🧪 Testing
  • mail-tester.com score is 8/10 or higher
  • Test email sent to your own inbox — looks correct
  • All links in the email work (clicked each one)
  • Email renders correctly on mobile (check from your phone)
📅 Sending
  • Scheduled for Tue/Wed/Thu between 8–10 AM or 1–3 PM
  • Volume is within daily limit for this inbox
  • Correct domain being used (cold = MinnesotaREP.com, warm = cineminn.com)
📊 Post-Send (Check 48 hrs after)
  • Open rate within healthy range
  • Spam complaint rate below 0.10%
  • Hard bounces deleted from list
  • Results logged in campaign tracker doc

🚨 Escalation Protocol — When to Stop and Contact Your Boss

If ANY of these situations happen: stop all email sending immediately and notify your manager with the information listed below.

SituationSeverityWhat to Send Your Boss
Spam complaint rate exceeds 0.3% on any campaign 🚨 Critical Screenshot of campaign stats, which list was used, which domain sent it
Google Postmaster shows domain reputation as "Low" or "Bad" 🚨 Critical Screenshot of Postmaster dashboard, last 5 campaigns sent
Domain appears on MXToolbox blacklist 🚨 Critical Screenshot of blacklist result, name of blacklist(s)
Email tool suspends or limits the account ⚠️ High Screenshot of the suspension notice and reason given
Hard bounce rate exceeds 5% on any campaign ⚠️ High Bounce report export and which list segment was used
SPF or DKIM shows as "Failing" in Postmaster ⚠️ High Screenshot of authentication tab in Postmaster
When escalating, always include: (1) Date and time you noticed the issue, (2) Which domain was affected, (3) Which campaign or action may have caused it, (4) A screenshot.
🛠️
Quick Reference
Tools Used in This SOP
ToolWhat It DoesCostWhen to Use
postmaster.google.com Tracks your Gmail sender reputation Free Every Monday
mail-tester.com Spam score test for your email Free Before every campaign
mxtoolbox.com/blacklists Checks if your domain is blacklisted Free Monthly
subjectline.com Scores your email subject line Free Every campaign
ZeroBounce.net Validates email addresses Freemium Before major sends
Bouncer.io Alternative email validator Freemium Before major sends
Instantly.ai Automated inbox warm-up ~$37/mo New domain warm-up
MailReach Alternative warm-up tool ~$25/mo New domain warm-up