How to go from "I want to tell customers something" to a campaign in their inbox, the three-step wizard, the five email layouts, the live preview, and the test send.
Three things worth knowing up front:
---
CC-1: Starting a Campaign
Go to Marketing → Create Campaign (top right; on mobile it's the round button in the lower corner). The wizard opens as a panel over the page with three steps: Setup → Message → Schedule.
You can leave at any point. If you've written something, PortaPro asks before closing so you don't lose it, and Save as Draft on steps 2 and 3 parks everything, layout, copy, images, recipients, under Marketing → Drafts to finish later.
---
CC-2: Step 1, Setup
Campaign name
An internal label so you can find this campaign later. Recipients never see it.
Leave it blank if you like, when you move past the Message step, PortaPro fills it in from your subject line. You can rename it in the final review before sending.
Campaign type
| Type | What it does |
|---|---|
| The full email composer. This is the path almost everyone wants. | |
| SMS | A short text composer with a 160-character counter. |
| Email and SMS | Composes an email; the SMS half is not yet delivered. |
Note: SMS and combined campaigns can be composed and saved, but campaign delivery currently sends email only. A text-message campaign will save without sending. Use email campaigns for anything you need delivered today.
Who receives it
| Option | Who it targets |
|---|---|
| All Customers | Every customer with an email address on file. |
| Customer Groups | One or more saved segments. |
| Select Customer Types | Customers grouped by their type (commercial, residential, etc.). |
| Select Individual Customers | Hand-picked customers, with search and Select All. |
| Triggered Campaign | Fires from an event (job completed, invoice paid, birthday) rather than a send date. |
Two groups are always skipped automatically: customers with no email address on file, and anyone on your unsubscribe list. Both are recorded on the campaign so the detail view shows why they were skipped.
Choose your starting point
The last thing on step 1:
---
CC-3: Step 2, Choosing a Layout
The composer opens on the layout picker: five designs, each shown as a small sketch of its actual shape.
| Layout | Shape | Reach for it when |
|---|---|---|
| Announcement | Full-width image, accent bar, headline, one button | You have one clear thing to say |
| Promo / Offer | Centered, badge, dashed offer box, button | You're running a discount or limited-time deal |
| Newsletter | Intro, then 2–4 sections with accent rules | You have several unrelated updates |
| Event / RSVP | When/Where card, RSVP button | An open house, event, or dated reminder |
| Testimonial | Large serif pull-quote, attribution, button | Building trust with a customer's own words |
Every layout carries your logo, your brand color, and your business name, pulled from Settings → Company Branding. They differ in structure, not just decoration, the offer box, the section rules, and the pull-quote are genuinely different layouts.
Pick a layout and it fills itself in. Each one arrives with complete sample copy, written for a portable sanitation business and personalized with your company name. The preview is a finished email from the first second, you're editing real sentences, not staring at empty boxes.
Switching layouts keeps your work. Anything you've typed carries across. Only fields you haven't touched get replaced with the new layout's sample copy.
---
CC-4: Step 2, Writing the Message
The left column is the form; the right column is the live preview. Every keystroke updates the preview.
Write it with AI
The collapsible Write it with AI row at the top. Describe what you want to say, "announce our new weekend service windows for event customers and invite them to book", pick a tone, and click Generate draft.
It fills in your subject line, headline, body copy, and button label in one pass. It's a starting draft: read it, and change anything you'd phrase differently. Your layout choice tells the writer what kind of email it is, so you don't have to.
Inbox preview
| Field | What it is |
|---|---|
| Subject line | The subject in their inbox. Keep it under about 60 characters so phones don't cut it off. |
There is no preview text box. The grey line inboxes show after the subject is taken automatically from the opening of your body copy, so write a first sentence that works on its own. A small strip shows the subject and that line together the way Gmail stacks them.
Message
Headline is the large text at the top of the email, usually a shorter, punchier version of your subject. Body is your main copy; leave a blank line between paragraphs and they render as separate paragraphs.
Layout-specific fields
These appear only for the layout that uses them:
| Layout | Extra fields |
|---|---|
| Promo / Offer | Badge text, Offer details (the line inside the dashed box) |
| Newsletter | Sections, 2 to 4, each a title, a summary, and an optional link |
| Event / RSVP | Date, Time, Location |
| Testimonial | Customer quote |
For a testimonial, put the attribution on its own last line starting with a dash, `- Site Manager, Harbor Events`, and it renders separately under the quote with an accent rule.
Button
Every email gets one main button: a label and a link. The link must be a full web address starting with `https://`. Promo, Event, and Testimonial layouts also allow an optional second link under the main button.
Branding
Show company logo is on by default, with Small / Medium / Large sizing. No logo on file? Your company name appears as text instead, and the composer tells you where to add one.
Personalizing by recipient
Campaign emails send the same copy to everyone. Merge fields like `{{customer_name}}` are not supported in campaigns, even though the Templates editor offers them as "Insert a variable" buttons, typed into your copy, they arrive as literal text. Write to the group rather than the individual, or use an individual email from the customer's own record.
---
CC-5: Step 2, The Hero Image
Optional, and there's one image slot. Three ways to fill it:
| Method | How |
|---|---|
| Upload | Click the box or drag a file onto it. Up to 5MB; resized automatically. |
| Design in Canva | Connect Canva once, then pick a design and it imports as your hero. |
| Use image URL | Paste a link to an image already hosted somewhere public. |
The image runs as a banner above the headline, at the width of the email's reading column, with nothing drawn behind it. A wide image (about 3:1, for example 1500 × 500) works best; a square one becomes a very tall block.
Once set, you get a thumbnail and a Replace button. Remove clears it.
An image is never required. Every layout is designed to look complete without one.
---
CC-6: Step 2, Preview and Test
Desktop and Mobile
The toggle above the preview switches between a real desktop-width render and a phone-width render inside a phone frame. These are genuinely different renders, worth checking both, since most people read email on a phone.
Expand (the icon beside Send test) opens a near-fullscreen preview.
The readiness checklist
Instead of a wall of red errors, a quiet row of checkmarks tracks what's still needed: subject line, headline, body copy, button, and anything specific to your layout. Items turn green as you fill them, amber if a link isn't a valid address. When everything's done it collapses to a single line: Ready to send.
Send test
Send test delivers this exact email to the address on your PortaPro account. The subject is prefixed with `[Test]` so it's obvious in your inbox. It doesn't touch your customers, doesn't create a campaign, and doesn't count toward analytics.
You can't send a test until the checklist is complete, the dialog tells you what's missing.
Send one to yourself and open it on your phone before every real send. It's the single most useful habit in this whole workflow.
---
CC-7: Step 3, Schedule and Send
Send Now or Schedule
Send Now queues delivery immediately. Schedule gives you a date picker, quick time presets, and a custom time, then confirms in plain language: *"Campaign will be sent on Tuesday, September 12th, 2026 at 10:00 AM."* Scheduled campaigns live under Marketing → Scheduled and can be edited or cancelled any time before they go. The scheduler sweeps every 15 minutes, so delivery starts within that window of your chosen time rather than on the exact minute.
Mid-week mornings generally see the best engagement for business email, Tuesday through Thursday, roughly 10 AM to 2 PM.
Review
The summary shows your campaign name (editable here, last chance to rename), type, and total recipients. Check the recipient number before you send. It's the clearest signal that your targeting is what you intended.
Then Send Now or Schedule Campaign.
What PortaPro adds automatically
Every campaign email gets three things you don't have to build:
---
CC-8: After Sending
Campaign status moves Draft → Scheduled → Sending → Sent, or Failed if delivery errors occur.
Open any sent campaign from the Marketing dashboard for delivery counts, opens, clicks, and per-recipient activity. As a rough benchmark: 20–25% open rate is healthy, 30%+ is strong; 2–3% click rate is healthy, 5%+ is strong.
Sent campaigns are a record, you can't edit or recall one. That's what the test send is for.
---
CC-9: Troubleshooting
| Problem | Cause and fix |
|---|---|
| Send test is disabled | The readiness checklist isn't complete. Open the dialog to see what's missing, usually the button link isn't a full `https://` address. |
| "Marketing campaigns require Growth plan" | Campaigns need the Growth plan. Upgrade under Settings → Subscription. |
| Logo missing from the preview | No logo on file. Add one under Settings → Company Branding; your company name shows as text until then. |
| Uploaded image doesn't appear | The upload finished but the image isn't publicly reachable. Try re-uploading; if it persists, contact support, it's a storage configuration issue, not something you can fix from the composer. |
| `{{customer_name}}` appeared literally in the email | Merge fields aren't supported in campaigns (see CC-4). Remove them and write to the group. |
| SMS campaign saved but nothing arrived | Campaign delivery is email-only right now (see CC-2). |
| Campaign stuck on Sending | Some recipients failed. Open the campaign detail for per-recipient status; the usual cause is invalid email addresses. |
| An old campaign looks different from new ones | Campaigns built before the layout rebuild keep their original design. Duplicate it into a new campaign to pick up the current layouts. |
---
