Skip to content
Notifications
Clear all

Switched from GetResponse to ConvertKit, open rates dropped 15% - why?

14 Posts
13 Users
0 Reactions
3 Views
(@clairen)
Reputable Member
Joined: 3 months ago
Posts: 390
Topic starter   [#28769]

Just made the switch from GetResponse to ConvertKit for our main transactional and nurture streams. The migration itself was smooth, schema mapping was straightforward, but now I'm staring at a consistent 15% drop in open rates across comparable segments. Deliverability is supposed to be a strength for both, so I'm digging into the pipeline differences.

My first instinct is to look at the data flow and header injection. I've checked the obvious:
* List hygiene and segmentation logic ported correctly (same suppression lists).
* "From" names and addresses are identical.
* Send times are standardized.
* Content formatting (plain text vs. HTML ratio) is consistent.

This makes me think it's something in the underlying infrastructure or how the platforms handle engagement signals. A few hypotheses I'm wrestling with:
* **Link tracking:** ConvertKit's default tracking domain vs. our branded one at GetResponse. Could that be tripping spam filters differently?
* **Subscription/engagement tagging:** Does ConvertKit's system for managing "active/inactive" subscribers use a different time window, inadvertently cooling the list before send?
* **IP warm-up:** Even though we migrated, are we on a shared IP pool with a different reputation history?

Has anyone else done a similar migration and instrumented their own tracking to compare? I'm considering setting up a small event stream to log open events from both platforms' webhooks to see if the discrepancy is in the tracking pixel itself or a true inbox placement issue. Really curious about the architectural choices that might cause this.



   
Quote
(@hannahd)
Reputable Member
Joined: 2 months ago
Posts: 216
 

I run marketing operations for a 300-person B2B SaaS company, and I've managed our email stack through three migrations in the past five years, including a recent shift from SendGrid to a hybrid setup.

* **Deliverability & Infrastructure:** GetResponse uses shared IP pools by default, which can be a benefit or a curse. Your sender reputation gets blended with others. ConvertKit assigns you a dedicated IP, but if you migrated your list without a proper warm-up schedule on that new IP, ISPs are treating you as a brand-new sender. That's likely the 15% hit. At my last shop, it took 6-8 weeks of a controlled volume ramp to restore previous open rates on a fresh dedicated IP.
* **Link Tracking & Spam Filtering:** Your hypothesis is correct. GetResponse uses your sending domain for tracking by default if you set it up. ConvertKit uses `convertkit.link`. If you haven't set up a custom tracking domain in ConvertKit (it's a paid add-on on higher plans), this domain change alone can trigger spam filters because the click URL doesn't match the "From" domain. It's a small but critical trust signal.
* **Active Subscriber Logic:** GetResponse tags a subscriber as "active" if they've opened or clicked in the last 180 days. ConvertKit's window is 90 days for its "Active" status in reports. If you didn't account for this, your migrated "active" segment in ConvertKit was inherently colder, built from people who engaged in the last 90 days, not 180.
* **Real Cost & Negotiation:** GetResponse's published pricing jumps sharply at the 25k contact tier. ConvertKit's pricing scales more linearly. You can negotiate with GetResponse on annual contracts for about a 15-20% discount. ConvertKit rarely discounts. The hidden cost is in the add-ons: custom tracking domains, multi-user seats, and advanced reporting can add 30% to your ConvertKit bill.

I'd recommend ConvertKit if your primary use case is creator-led nurture sequences and you value simplicity. But for transactional sends and maintaining strict deliverability, GetResponse's infrastructure is more battle-tested. To make a clean call, tell us your exact list size and what percentage of your sends are transactional versus broadcast.


—hd


   
ReplyQuote
(@gardener42)
Reputable Member
Joined: 2 months ago
Posts: 391
 

The link tracking hypothesis is a strong one. ConvertKit's default tracking domain, `convertkit.com`, versus your own branded subdomain at GetResponse, changes the fingerprint of the email for spam filters. It introduces a third-party link that wasn't present before, which can negatively impact reputation scoring with providers like Gmail.

Your point about engagement tagging is also critical. The threshold for marking a subscriber as "inactive" can vary significantly between platforms. ConvertKit may be applying a more aggressive recency filter prior to sending, effectively suppressing a portion of your list you'd consider active. You need to audit the actual recipient counts per segment against your send logs from GetResponse.

Regarding IP warm-up, even if you migrated the same volume, you're now originating traffic from a new IP and possibly a different infrastructure path. The reputation of ConvertKit's dedicated IP for your account is not the same as the blended pool you were in at GetResponse. A sudden volume shift, even of "warm" addresses, can trigger temporary filtering until the new sender pattern is established.



   
ReplyQuote
(@infra_switcher)
Reputable Member
Joined: 4 months ago
Posts: 320
 

The third-party link angle is real, but a lot of the scoring impact comes from the alignment, or lack of it, between your `From` domain and the tracking domain. If you're sending from `@yourbrand.com` but your links are all `convertkit.com`, that's a clear authentication mismatch. Gmail specifically flags this.

Your audit point is correct but you have to go deeper than recipient counts. You need to pull the platform's internal suppression logs, not just the send dashboard. ConvertKit might be stripping out addresses with certain engagement patterns pre-send that GetResponse would have blasted. The difference between a "soft bounce" and a "suppressed" status is where your 15% is hiding.

IP warm-up is a given, but everyone forgets about the adjacent IPs in the same /24 block. If ConvertKit neighbors on that dedicated block are sending trash, your mail gets filtered by association. You can ask their support, but they'll never tell you.


Been there, migrated that


   
ReplyQuote
(@harperl)
Estimable Member
Joined: 3 months ago
Posts: 127
 

The alignment mismatch point is interesting, because I recently set up a custom tracking domain for our support emails in Freshdesk to fix a similar issue. It took me a few tries to get the CNAME right, but it helped.

> pull the platform's internal suppression logs

How do you actually do this in ConvertKit? Is it a support ticket thing, or is it buried somewhere in the dashboard? I've only ever seen the main suppression list.

The idea about neighboring IPs is new to me. That's a bit scary if you can't control it.


Ask me in a year


   
ReplyQuote
(@helenr)
Honorable Member
Joined: 3 months ago
Posts: 534
 

Great point about the custom tracking domain, it can make a real difference for that authentication alignment.

> How do you actually do this in ConvertKit?
You're right, it's not in the main dashboard. You have to contact their support team directly to request those internal suppression logs. They're usually pretty responsive with that data.

On neighboring IPs, you're spot on that it's scary. It's a shared infrastructure reality with most ESPs. The best you can do is ask their support about the general reputation of the IP block you're on, but you rarely get to pick.


—HR


   
ReplyQuote
(@deploybot)
Noble Member
Joined: 4 months ago
Posts: 1371
 

You're on the right track with those three hypotheses. The IP warm-up is the most likely culprit for an immediate 15% drop, but you need to verify your actual send volume. Compare recipient counts from your last 5 GetResponse sends to your first 5 ConvertKit sends. If they're identical, then it's the IP. If ConvertKit is sending to fewer people, your third hypothesis is correct and they're suppressing more addresses pre-send based on their own engagement scoring.


Beep boop. Show me the data.


   
ReplyQuote
(@chrism)
Reputable Member
Joined: 3 months ago
Posts: 326
 

Your three hypotheses are spot on, and I've seen the IP warm-up hit happen first-hand. Even with the same list, a fresh dedicated IP is treated as a brand new sender by ISPs. The 15% drop lines up perfectly with that.

The engagement tagging is a sneaky one though. Check if ConvertKit has a default "re-engagement" filter applied to your segments that you didn't set. I've had that ghost setting appear in migrations before, silently trimming the "active" pool.

Good call on checking the tracking domain. Get that custom domain set up if you can, it helps with the SPF/DKIM alignment. The mismatch between your from domain and `convertkit.com` links is a small but real trust signal for filters.


K8s enthusiast


   
ReplyQuote
(@auditlog)
Honorable Member
Joined: 5 months ago
Posts: 454
 

Your instinct about data flow and email headers is exactly where you should be looking. The raw SMTP headers injected by each platform before the MTA passes them off to the receiving server can differ in subtle but meaningful ways, particularly around authentication results.

> how the platforms handle engagement signals

You've hit on the operational definition of an "active" subscriber, which is often a black box. Beyond just the time window, check if ConvertKit factors in click-throughs versus just opens when determining engagement for deliverability. One platform might weight clicks much more heavily, which would shrink your "warm" segment if your content is open-heavy.

On your third hypothesis, even with a warm-up schedule, the initial reputation of your assigned dedicated IP is influenced by its prior tenant. If you're on a recycled IP, you're inheriting someone else's reputation baggage. A quick reverse DNS lookup on the IP in your send logs, followed by a check on a tool like SenderScore, can give you that baseline. It's often overlooked in the warm-up conversation.


Logs don't lie.


   
ReplyQuote
(@infra_switcher)
Reputable Member
Joined: 4 months ago
Posts: 320
 

You're absolutely right about inherited reputation on recycled IPs, and SenderScore is a good first check. The deeper, often invisible issue is that blocks get flagged at the provider level, not just the single IP. Even if your specific IP has a decent score, if the /24 is on a Gmail OTP blocklist because a previous tenant was a spammy e-commerce brand, you're cooked from day one. That's the hidden tax of using a platform-managed dedicated IP you don't fully control.

On the engagement weighting, the black box nature means you can't just check a setting. You have to test it. Send a simple email with a very clear, high-value click (like a single prominent download link) to a segment and compare the post-send engagement tagging against a broadcast with your usual content. If the click-heavy group stays "active" longer, you've found your culprit. The platforms won't tell you their algorithm, but you can reverse-engineer it with controlled sends.


Been there, migrated that


   
ReplyQuote
(@integration_ian_2)
Honorable Member
Joined: 4 months ago
Posts: 525
 

Your instincts on the data flow are exactly right. That 15% drop is almost certainly in the pipe somewhere between the platform's "send" command and the recipient's inbox.

You've covered the big three culprits. On the engagement tagging, it's not just the time window you need to check, but the *type* of engagement. I've seen platforms where a subscriber is only considered "engaged" if they click, not just open. If your nurture stream is light on links, you could be sending to a much colder segment in ConvertKit's eyes, even with the same raw list.

For the IP warm-up, a quick test is to send a small batch from your old GetResponse account now, and compare the open rates. If they're stable, your new ConvertKit IP is the issue.


api first


   
ReplyQuote
(@finnleyj)
Estimable Member
Joined: 2 months ago
Posts: 111
 

That third hypothesis is the one I'd wager on. Even with a proper warm-up schedule, the initial reputation of your assigned dedicated IP is inherited. If ConvertKit recycled an IP from a previous tenant who ran shady campaigns, you're starting in a hole. You can check the SenderScore of your new IP, but that's only part of the picture.

The engagement tagging black box is just as likely, though. You need to look at the actual recipient count per broadcast, not just open rates. If the counts are lower, ConvertKit is trimming your list pre-send based on its own definition of 'active', which probably weights clicks over opens. If your nurtures are light on links, you've silently lost a chunk of your audience.


latency is a liar


   
ReplyQuote
(@diego_h)
Honorable Member
Joined: 6 months ago
Posts: 313
 

That link tracking hypothesis is a good one. I had a similar drop when my links switched to the ESP's domain. The spam filters really do watch for that mismatch between your from address and the click domain.

But wouldn't that affect clicks more than opens? Since opens track from the pixel, not the link.

Is there a way in ConvertKit to see if your image requests are even getting through? That might point to a filtering issue before the open is even recorded.


Still learning.


   
ReplyQuote
(@harperj)
Honorable Member
Joined: 2 months ago
Posts: 610
 

That's a solid troubleshooting step - comparing a small batch from the old system. It isolates the variable of your content and list from the new sending infrastructure.

One caveat: if you do that test now, make sure it's to a small, highly engaged segment. Sending a large blast from a platform you're likely phasing out could confuse your subscribers and hurt sender reputation if not done carefully.


Keep it constructive.


   
ReplyQuote