Gmail Rate Limiting - Online Help | Zoho Campaigns

Why Gmail rate limits your marketing emails

If you run email marketing campaigns and send to large lists through Zoho Campaigns, or similar platforms, you may have come across a cryptic SMTP error in your bounce message starting with 421 4.7.28. This is Google temporarily blocking delivery to Gmail recipients because something about the campaign's sending pattern looked like unsolicited mail. This guide explains what triggers it, what each error message means in full, and how to get your campaigns back on track.

What is rate limiting?  

Rate limiting is when a receiving mail server temporarily restricts how many messages it will accept from a given source. Gmail uses a 421 SMTP response code to signal this, which means "try again later." Messages are not permanently rejected. The server is telling your sending platform to slow down and retry after some time.

The 4.7.28 sub-code specifically means Gmail has detected an unusual rate of mail it considers unsolicited, and has temporarily throttled the sending of mails to protect its users.

Why does Google rate limit marketing emails?  

Gmail's spam filters watch for high-volume sending that users are not engaging with. When a campaign lands in inboxes and recipients consistently ignore it, delete it without opening, or mark it as spam, Gmail treats those signals as a sign of abuse and starts restricting delivery.
This is especially relevant for marketing campaigns because they tend to involve:
  • Large recipient lists sent in a short window
  • Cold or outdated contacts who never opted in
  • Shared IP addresses or domains used by many other senders
  • URL tracking links that Gmail may have seen in flagged campaigns before
Google tracks sending behavior at four distinct levels, each with its own quota:
  • The sending IP address you use
  • The SPF domain 
  • The DKIM signing domain (often your ESP's domain if you haven't set up custom DKIM)
  • URL domains embedded in the email body, including tracking links
Exceeding any one of these triggers a 421 4.7.28 error.

Commonly occurring 4.7.28 errors  

There are four types of this error, one for each quota Gmail tracks. Below is the two most commonly occurring errors and their message in full, along with what causes it, we come across in Zoho Campaigns.

IP address rate limited  

  1. 421-4.7.28 [x.x.x.x] Our system has detected an unusual rate of unsolicited mail originating from your IP address. To protect our users from spam, mail sent from your IP address has been temporarily rate limited. Please visit https://support.google.com/mail/?p=UnsolicitedRateLimitError to review our Bulk Email Senders Guidelines. [message-id] - gsmtp

Why it happens: Gmail tracks the volume of unsolicited mail coming from your sending IP. One main reason can be due to shared IP pool, which means the activity of other senders on the same IP affects your delivery too. If the IP (or the pool it belongs to) has sent a large volume of campaigns in a short period, or has built up a poor reputation over time, Gmail applies a temporary throttle to all traffic from it.

DKIM domain rate limited  

  1. 421-4.7.28 Gmail has detected an unusual rate of unsolicited mail originating from your DKIM domain. To protect our users from spam, mail sent from your domain has been temporarily rate limited. Please visit https://support.google.com/mail/?p=UnsolicitedRateLimitError to review our Bulk Email Senders Guidelines. [message-id] - gsmtp

Why it happens: The domain used in your DKIM signature has hit its quota. If you have not configured a custom DKIM key for your sending domain in your email marketing platform, the platform signs outgoing messages with its own domain. In that case, Gmail is tracking the platform's domain, not yours. A volume spike across the platform's user base can trigger this for your campaign even if your own domain reputation is clean.

Troubleshooting steps  

The steps below are based on Google's official guidance for recovering from a 4.7.28 rate limit. The underlying principle is the same regardless of which quota was hit.
NotesNote: If the error does not specify whether the limit applies to your IP, SPF domain, or DKIM domain, assume all three are affected and apply the same recovery to each.

Step 1: Stop sending for at least 10 minutes

Pause your campaign sending. Do not retry or resume sending while the rate limit is active. Continuing to push mail through will not clear the block and may worsen your domain's standing with Gmail. Wait a minimum of 10 minutes before taking any further action.

Step 2: Identify which quota was hit

Read the bounce message to find out which signal triggered the limit – IP, SPF domain, DKIM domain, or URL domain. Check your campaign logs for the send volume and timing. A campaign sent to a large list all at once is far more likely to trigger rate limiting than one sent gradually over several hours.

Step 3: Resume with a single SMTP connection

After 10 minutes, attempt delivery using one connection only. If that single connection also fails, wait another 10 minutes before trying again. Do not open multiple connections at this stage.

Step 4: Add connections one at a time

Once a single connection succeeds, increase concurrency one connection at a time until you reach your desired volume. Do not jump back to your normal sending rate in one go.

Step 5: Grow campaign volume gradually going forward

Gmail's limits are sensitive to both total send volume and how quickly it rises. For ongoing campaigns:
  • Send at a consistent daily rate rather than in large one-off blasts
  • Avoid sudden volume spikes, especially if your domain does not have a history of sending at that scale
  • Monitor your domain and IP reputation regularly using Google Postmaster Tools
  • Keep your contact list clean and remove contacts who consistently do not engage
  • Set up a custom DKIM record for your sending domain in your ESP to separate your reputation from the platform's shared domain

Conclusion  

A 421 4.7.28 is a temporary block, not a permanent rejection. Gmail is signaling that your campaign's sending pattern crossed a threshold it associates with unsolicited mail. The fastest way to recover is to pause, check which of the four quotas was triggered, then ramp back up from a single connection. In the longer run, consistent sending volumes, proper authentication, a clean and engaged list, and custom DKIM setup will significantly reduce the chances of hitting these limits during a campaign.