Complaint rate ticked up and ActiveCampaign froze our whole account, no send button, no warning
ActiveCampaign auto-places an account under review the moment ISPs report a higher-than-normal spam complaint or bounce rate, and while under review you cannot send anything, campaigns or automations. The freeze is platform-wide, not per campaign, and the trigger sits around the 0.1% complaint line.
The fix
Watch the per-campaign spam complaint rate in the Campaign Summary report and keep it under 0.1% (1 complaint per 1,000 sent), the rate ActiveCampaign calls acceptable. Because most providers, Gmail above all, do not report complaints back to the ESP, monitor your real Gmail complaint rate in Google Postmaster Tools too. Prevent the freeze with double opt-in forms, suppressing contacts with no engagement in 90 days, and never importing purchased or old lists. If you are already under review, answer every question in the compliance email immediately and show the exact list-cleaning you did; sending stays blocked account-wide until a human clears you, and an elevated complaint rate takes about 30 to 60 days to repair even after the freeze lifts.
Emails with images suddenly started hitting Gmail spam even though auth and reputation were clean
Users report image-only or image-heavy templates landing in Gmail spam while text-forward versions of the same send reach the inbox, with authentication, reputation, and complaint rate all clean. Gmail cannot read text baked into an image, so a mostly-graphic email reads as a classic image-spam pattern and gets filtered.
The fix
Do not ship a single-image email, especially to B2B or cold segments. Rebuild the message with real, selectable HTML text carrying the core offer, aiming for a text-forward mix around 60:40 or 80:20 text-to-image; past roughly 40 percent image content, filters pay closer attention. Add descriptive alt text to every image and keep image files light. ActiveCampaign's Spam Check flags a skewed image-to-text ratio, but its own docs call that a suggestion with typically no direct impact, so treat it as a hint and confirm real placement with a seed send to inboxes you do not control.
New billing charges us for unsubscribed and bounced contacts, so cleaning the list feels like a penalty
For accounts created on or after November 3, 2025, ActiveCampaign counts every contact toward your billable tier, including unsubscribed, bounced, and unconfirmed, whereas older accounts were billed on active contacts only. The perverse effect is a temptation to leave dead and hard-bounced addresses in place, exactly the ones that drag reputation down and feed spam-trap and complaint problems.
The fix
Do not solve the bill by leaving dead weight on your list. Clean before you import, since your first import sets the billing baseline: strip unsubscribes, hard bounces, and anyone with no engagement in a year. For contacts you must keep off the bill, use Archive rather than leaving them active; archived contacts are removed from sends and do not count toward your limit, but note the caps: a monthly archive limit (roughly your contact limit, resetting on your billing cycle), one-year storage before automatic deletion, and a 30-day freeze before an archived contact can be restored. Restoring re-adds a contact to your billable limit immediately, so reserve archive for contacts you do not intend to mail again.
Our first campaign just sat in Pending Approval for hours while a launch went out late
Every first-time campaign on a new ActiveCampaign account is held for manual approval before a single email leaves, as are later campaigns with high bounce, spam, or unsubscribe rates, an invalid physical address, or a non-ActiveCampaign unsubscribe link. Approval is usually under 10 minutes but runs slower outside US business hours, so a time-sensitive launch or late-night automation can miss its window.
The fix
Do not schedule your first-ever campaign against a hard deadline; send a small, clean warm-up campaign a day or two earlier to clear the first-time review while nothing is riding on it. Keep campaigns compliant so later sends are not pulled into review: include a complete, valid physical mailing address in the footer and keep ActiveCampaign's built-in unsubscribe link intact. Plan first sends during US business hours when the review team is staffed. If a campaign stalls in Pending Approval or Analyzing, check the account email on file for a message requesting more information and respond quickly.
ActiveCampaign shows the campaign as sent, but Microsoft quarantines it as phishing after delivery
Senders report clean metrics yet see business and Microsoft-hosted recipients get nothing. ActiveCampaign confirmed a filtering trend where the unsubscribe link, which routes through the shared activehosted.com tracking domain, gets flagged by Microsoft Defender as phishing, so messages log as sent but are quarantined by the recipient environment. Re-verifying SPF, DKIM, and DMARC made no difference.
The fix
The trigger is the shared link-tracking and unsubscribe domain, not your authentication. Move your tracking and unsubscribe links off the shared activehosted.com domain by setting up a branded link-tracking domain (a CNAME you add in DNS and connect on the ActiveCampaign side) so the URLs resolve under your own domain rather than a shared one many senders share. Senders see the quarantine stop once the custom domain is connected. Note that a full branded link-tracking domain is limited to higher-tier plans, so check what your plan allows.