Early-adopter deal 20% off lifetime licenses · pay once, use DoubleScale for life · ends in 00d 00h 00m 00s See lifetime plansGet deal
DoubleScale

How to Email WordPress Users Automatically When a Post Is Published (Step-by-Step)

Send every new post to your WordPress users automatically, with their name, the post's title, excerpt, image and link filled in. A step-by-step guide with a video.

Automatic new post email sent to a WordPress user, built in DoubleScale
On this page
  1. How emailing users about new posts works
  2. What you need
  3. How to email WordPress users when a post is published: step by step
  4. Merge tags for new post emails
  5. Which posts send an email?
  6. Deliverability and sending limits
  7. Consent: who should get these emails?
  8. Troubleshooting
  9. Other ways to email users about new posts
  10. FAQ

Your WordPress site already has an audience: the people who registered as subscribers, customers, members or students. When you publish a new post, they are the readers most likely to care, yet WordPress itself has no setting that emails them. Most site owners end up copying each post into a newsletter tool by hand, or installing a notification plugin that sends everyone the same plain message.

This guide shows how to email WordPress users when a post is published, automatically. You set it up once; then every time you publish, each WordPress user gets a designed email with their own first name and the new post’s title, excerpt, featured image and link. Only people who are subscribed receive it, every email carries an unsubscribe link, and you can see who opened and clicked. Watch the 8-minute video, or follow the written steps below.

The full walkthrough, from a fresh install to the email in a reader’s inbox.
Video chapters
  • 00:00 Introduction
  • 00:38 How it works: one post, every reader
  • 01:05 Your WordPress users as contacts
  • 02:39 Create the automated campaign
  • 03:46 What merge tags are
  • 04:47 Design the email with merge tags
  • 05:53 Choose the recipients
  • 06:31 Publish a post
  • 06:54 The email your readers get
  • 07:12 The campaign report
  • 07:32 Recap

The short answer

Install DoubleScale, import your WordPress users as contacts, then create an Automated email campaign with the Post Published trigger. Design the email once using Last Post merge tags (title, excerpt, featured image, link) and a first-name merge tag, choose your WordPress users as recipients, and activate it. From then on, every post you publish is emailed automatically.

How emailing users about new posts works

You build one email template and one campaign. Publishing a post is the trigger; the email’s merge tags are filled in with that post and with each reader’s details at the moment it is sent.

Trigger
You publish a post
Action
Automated campaign runs
Action
Merge tags filled in per reader
Result
Every subscribed user gets the email
One post, every reader: the campaign runs on its own each time you publish.

What you need

  • A WordPress site with the users you want to email.
  • DoubleScale, a CRM that runs inside WordPress. The free plugin (on WordPress.org) covers contacts, the WordPress user import, workflows and the email builder. Automated campaigns are part of every paid plan, from $99 a year with unlimited contacts.
  • A reliable way to send email. Connect an email provider under DoubleScale → SMTP, such as Amazon SES, Brevo, Mailgun, SendGrid or your own SMTP server. Most web hosts limit how many emails PHP can send per hour, which is not enough for a list of users.

Full disclosure: we make DoubleScale. The other ways to do this, and when they make more sense, are compared further down.

How to email WordPress users when a post is published: step by step

Step 1: Bring your WordPress users into DoubleScale

Campaigns send to contacts, so first turn your WordPress users into contacts. Go to DoubleScale → Contacts → Import Contact, pick WordPress Users and click Continue.

DoubleScale import contacts screen with WordPress Users selected as the source
Import Contact: WordPress Users is one of the built-in sources.

The next screen decides how the imported users are organised:

Option What it does
Assign to Lists / Tags Adds every imported user to a list or tag, for example “Blog readers”, so you can target them later.
Status The marketing status the contacts get. Subscribed means they can receive campaigns; choose it only for users who agreed to hear from you.
Assign imported contacts to Who owns the contacts on your team, or your lead routing rules.
Update Existing Contacts Off: people already in DoubleScale are skipped. On: their details are updated from WordPress.
DoubleScale import options for WordPress users: lists, tags, status, owner and update existing contacts
Import options for WordPress users.

Click Import contacts. Each user arrives with their name and email address from WordPress, and the import summary tells you how many were imported, skipped or failed.

Step 2: Add new users automatically

The import covers the users you have today. To include people who register tomorrow, create a small workflow: Automations → Workflow → Create Automation, choose the User Register trigger (under WordPress), then add the Add Tags action with a tag such as “Registered user”. Switch it to Active and click Save & Publish.

DoubleScale workflow with the User Register trigger and an Add Tags action
Every new WordPress user becomes a tagged contact, ready for your next post.

Workflows are included in the free plugin, so this part costs nothing.

Step 3: Create an automated campaign

Go to Campaigns → Email Campaigns → Create Campaign, name it (for example “New post email”) and choose Automated. A Standard campaign is a one-time send to a list; an Automated campaign runs by itself whenever its trigger happens.

Create email campaign dialog in DoubleScale with the Automated campaign type selected
Choose Automated so the campaign runs on its own.

Step 4: Run it when a post is published

On the trigger step, keep Event-Based, set Trigger Event to Post Published and Post Type to Post. Leave Categories empty to email about every post, or pick categories to email only about those, for example only “Tutorials”.

DoubleScale automated campaign trigger: Event-Based, Post Published, Post type and categories
Post Published, for every category. Schedule-Based is for recurring sends instead.

Schedule-Based sends the same campaign daily, weekly or monthly, which suits a regular newsletter. For an email about each new post, Event-Based is the right choice. The Post Type list also includes Pages and, with WooCommerce, Products, so the same setup can announce new products.

Step 5: Sender, subject and preview text

On Set-up info, enter the From Name and From Email (use an address on your own domain that your email provider is set up to send from) and a Reply To address where replies should go.

The subject should change with every post, so use a merge tag. Type New on the blog: and a space, click Insert merge tag, open Last Post and insert Last Post Title. Do the same for Preview Text with Last Post Excerpt; the phone preview shows how it will look in the inbox.

DoubleScale campaign set-up with merge tags in the subject and preview text and an inbox preview
Subject: New on the blog: {{last_post:title}}. Preview text: the post’s excerpt.
DoubleScale Merge Tags dialog showing the Last Post tags: type, title, excerpt, featured image URL and permalink
Insert merge tag opens this list. The Last Post tags describe the post that was just published.

Step 6: Design the email with merge tags

Click Next Step to choose a template (ready-made, generated with AI, from scratch, or one you saved) and open the drag-and-drop builder. A good new-post email needs only five blocks, and each one uses a merge tag:

  1. Image: set it to {{last_post:featured_image_url}} with the Insert merge tag button under the image, and link it to {{last_post:permalink}}. The builder shows the tag instead of a picture, because the image is chosen when each email is sent.
  2. Greeting: Hi {{contact:first_name|there}},. The word after the bar is the fallback, so a reader without a first name reads “Hi there,”.
  3. Title: {{last_post:title}} as a heading.
  4. Excerpt: {{last_post:excerpt}} as the teaser paragraph.
  5. Button: “Read the article”, linking to {{last_post:permalink}}.
DoubleScale email builder with the featured image, greeting, title, excerpt and button set with merge tags
The whole email is merge tags: one design that fits every post you will ever publish.

Every field that accepts merge tags has an Insert merge tag button, including text, image, alt text, links and buttons, so you never have to remember the syntax.

Send yourself a test. Click Send test email and enter your address. The test fills the Last Post tags with your latest published post, so you see a realistic email before going live. Then click Save & choose recipients.

Step 7: Choose who receives it

On Recipients, choose Advanced Filter and add two rules joined by AND: User → Is User → Yes (the contact is a WordPress user) and User → Role → Matches → Subscriber. Click Apply Filters to see the total. Use another role, such as Customer or Member, or remove the second rule to include every user.

DoubleScale recipients advanced filter: WordPress users with the Subscriber role, with the total recipients count
WordPress users with the Subscriber role. Only subscribed contacts with a valid email are counted.

If you tagged users in steps 1 and 2, Lists and Tags works too. Because the audience is a filter, new users who match it are included automatically next time.

Step 8: Review and activate

Check the summary on Review and click Activate Campaign. The campaign page shows “No execution runs yet”: it is active and waiting for your next post.

Step 9: Publish a post and see the result

Publish a post the way you always do, with a featured image, category and excerpt. Within a minute or two, DoubleScale sends the campaign in the background. Here is the real email one reader received:

New post email received by a WordPress user, with her first name, the post featured image, title, excerpt and a Read the article button
Her name, the post’s image, title and excerpt, a button to the article, and the unsubscribe link DoubleScale adds for you.

Back in DoubleScale, open the campaign. Each published post is one run, with how many readers it reached, delivery, opens and clicks; expand a run for the details and the individual emails.

DoubleScale automated campaign report with one run per post: recipients, sent, opens and clicks
One run per post: 48 readers reached, all delivered, with opens and clicks.

Merge tags for new post emails

Merge tag Becomes Use it in
{{last_post:title}} The post’s title Subject, heading, alt text
{{last_post:excerpt}} The post’s excerpt (or the start of the content) Preview text, teaser paragraph
{{last_post:featured_image_url}} The featured image’s URL Image block
{{last_post:permalink}} The link to the post Button, image link, text links
{{last_post:type}} The post type, such as post or product Text, when one email covers several types
{{contact:first_name|there}} The reader’s first name, or “there” Greeting, subject

Add a fallback after a bar to any contact tag: an empty field otherwise leaves a gap in the sentence. Write a short, specific excerpt for each post; it becomes your preview text and teaser.

Which posts send an email?

When you… Email sent?
Publish a new post Yes, once
Schedule a post Yes, when it goes live
Update a post that is already published No, readers are not emailed twice
Save a draft, or publish privately No
Publish in a category the campaign does not include No
Publish a page or product Only if a campaign uses that post type

Because only the first publish counts, fixing a typo after publishing never sends a second email. If you want to check how a post will look first, schedule it a few minutes ahead and send yourself a test in the meantime.

Deliverability and sending limits

  • Send through a real email provider and set up SPF, DKIM and DMARC for your sending domain; Gmail’s sender guidelines require them for bulk mail.
  • Respect your provider’s limits with Settings → Email → Max Emails in Second and Max Emails in Day. If a day’s limit is reached, sending pauses and continues the next day instead of failing.
  • Unsubscribes are handled for you. Every campaign email gets an unsubscribe link and a one-click List-Unsubscribe header, and unsubscribed contacts are skipped automatically.
  • Send background jobs on time. Campaigns run in the background with WordPress cron. On a low-traffic site, set up a real server cron so emails do not wait for the next visitor.

More on keeping lists clean: bounce handling in WordPress.

A WordPress account is not the same as permission to receive marketing email. Only mark users as subscribed if they agreed to it, for example with a checkbox on your registration form, and let new subscribers confirm with double opt-in. Your contacts and their history stay in your own WordPress database; data is only sent to the email provider you connect.

Troubleshooting

  • No email after publishing. Check that the campaign is Active, that the post’s type and category match the trigger, and that it was a first publish, not an update.
  • Some users did not receive it. Only subscribed contacts with a valid email are sent to. Check the contact’s status and whether the user matches your recipient filter.
  • The image is missing. The post has no featured image. Set one, or replace the image block with a fixed image.
  • Emails arrive late. WordPress cron only runs on page visits; add a real cron job, and check the daily limit in Settings → Email.
  • Emails land in spam. Send from your own domain through a proper provider, with SPF, DKIM and DMARC in place.

Other ways to email users about new posts

Method Good for Watch out for
Custom code (a transition_post_status hook and wp_mail) Developers who want a tiny, plain-text alert No design, unsubscribe handling, sending limits or reports unless you build them
Notification plugins Internal alerts to editors and admins Usually one generic message to everyone, without per-reader merge tags or unsubscribe management
Newsletter services with RSS-to-email Sites that already run their newsletter on an external service They email their own list, so WordPress users must be exported and kept in sync
A WordPress CRM such as DoubleScale Emailing WordPress users directly, with merge tags, segments and reports Automated campaigns need a paid plan; you connect your own email provider

If you also want to welcome new subscribers or nurture them over several emails, see how to build a welcome email series and email drip campaigns in WordPress. For the bigger picture, read our WordPress marketing automation guide and the comparison of the best WordPress email marketing plugins.

FAQ

Does WordPress email users when a new post is published?

No. WordPress can email site admins about some events, but it has no built-in option to notify users or subscribers about new posts. You need a plugin or custom code.

How do I send new post notifications only for certain categories?

In the automated campaign’s trigger, choose the categories under Post Published. Posts in other categories do not send the email.

Will users get another email when I update a published post?

No. The campaign runs on a post’s first publish only, so edits and updates never send it again.

Yes. Use {{last_post:featured_image_url}} in an image block and {{last_post:excerpt}} in a text block; both are filled in with the post that was just published.

Can I email only some user roles?

Yes. In the recipients step, use the Advanced Filter with User → Role, for example Subscriber or Customer, or target a list or tag instead.

Do unsubscribed users still get new post emails?

No. Only subscribed contacts receive campaigns, every email includes an unsubscribe link, and anyone who unsubscribes is excluded from then on.

Can I send a weekly digest instead of one email per post?

Choose Schedule-Based instead of Event-Based to send a campaign daily, weekly or monthly, for example a weekly newsletter.

Is this free?

Importing WordPress users, workflows and the email builder are free. Automated campaigns, which send the email when a post is published, are part of DoubleScale’s paid plans, from $99 a year with unlimited contacts.

Email every new post to your WordPress users

DoubleScale brings your whole business into WordPress: contacts, email campaigns and automations, with unlimited contacts and your data on your own site.

Get our guides first on GoogleAdd DoubleScale as a preferred source and our articles show up more often in your Top Stories.

Mohamed Magdy
Written by

Mohamed Magdy, Founder & CEO, DoubleScale

Mohamed Magdy is the founder and CEO of DoubleScale, the all-in-one CRM for WordPress. He writes about CRM, email marketing and automation for WordPress businesses.

Newsletter

Practical CRM tips, once a month

Guides on growing with WordPress: lead capture, email marketing, automations and sales. No spam, unsubscribe anytime.

Free WordPress plugin

Run your customers, sales and support from WordPress

DoubleScale brings CRM, email campaigns, automations, booking, invoices and a helpdesk into one plugin, with unlimited contacts on the free plan.