Guide

What happens between the click and the page

The links in a delivered campaign email are rarely direct. Most of them are chains — two or three addresses deep — and every extra hop is a place the campaign can break after you hit send. Here is how chains form, how they fail, and how SendProofs records them.

Last verified: 2026-10-19

Why your email's links are chains

When click tracking is on, your sending platform replaces each destination with a URL on its tracking domain. A click hits the tracker first, gets recorded, and is redirected onward. Add a link shortener, a partner's own tracker or a legacy URL that itself redirects, and the shape becomes tracking domain → intermediate → destination. The address printed in the delivered email is only the first stop; the page your reader lands on is at the other end of the chain.

What a hop is

A redirect is an HTTP response that says "not here — go there": a 3xx status plus a Location header naming the next URL. Each hop is one request, one status and one target. The common statuses, in plain terms:

301
Moved permanently — the target is the resource's new address, and clients may remember it.
302
Found — a temporary forward. The workhorse of click trackers: the tracking URL stays the canonical one, and each click is forwarded at click time.
307
Temporary redirect, stricter — the follow-up request must use the same method as the original.

Why chains break after the send

The email is frozen the moment it is sent; every other part of the chain keeps moving. The most common failures live in the middle, not at the destination:

  • Retired campaign slugs. The tracker archives or deletes the campaign, and its short links stop resolving — the destination page is fine, but no click ever reaches it.
  • Expired tracker configuration. A custom tracking domain whose DNS or TLS setup lapses turns every link in every past email into an error page.
  • Dead intermediate domains. A shortener or partner domain in the middle of the chain shuts down, and the chain ends at hop two.

This is why checking the template's destination URLs is not enough: the destination can answer perfectly while a middle hop is dead. Only the delivered email contains the chain that recipients will actually traverse.

Hops that deserve attention

  • An HTTPS→HTTP downgrade mid-chain. One hop steps from an encrypted URL to plain HTTP. SendProofs records it as a warning on the resource so you can decide whether that hop belongs in your campaign.
  • Loops. A hop points back to a URL already visited. Recorded as broken, with an explicit error code.
  • Chains at the hop limit. More than 3 hops is recorded as broken. A chain that deep is fragile even on a good day — every hop is another dependency between your reader and the page.
  • A redirect with no target. A 3xx status without a Location header goes nowhere; recorded as broken.
  • A hop into an account action. If a redirect leads toward a recognized action link — sign-in, unsubscribe — the check stops at that hop and the resource is reported Protected, with the chain recorded up to that point.

How SendProofs records a chain

Redirects are followed up to 3 hops per resource, and every hop is recorded — from, to, and the status that caused it. Each next URL is safety-screened before it is followed, exactly like a first request: private and internal addresses are refused, and the protected-action patterns run again per hop. The whole chain fits inside one bounded time budget. Redirect evidence in depth.

Synthetic exampleFind the first failing hop
Observed chainResponsesNext step
click.campaign.example/reminder → campaign.example/events/october → example.com/events/october302, 301, terminal 200The HTTP chain answered. A reviewer still checks the event and date.
click.campaign.example/old-reminder → campaign.example/events/september302, terminal 404The event destination failed. Ask its owner for the current URL and correct it in the sending platform.
click.campaign.example/member-offer → partner.example/member-offer302, terminal 403Inconclusive: assign an authorized reviewer rather than treating it as a proven broken offer.

These chains are invented reserved-domain examples, not customer measurements. Identify the first failing destination and its owner before changing the sender's tracking wrapper. Record the correction and the fresh-test result in the QA checklist worksheet.

The honest limit

SendProofs follows HTTP redirects only. There is no browser and no JavaScript execution, so a JavaScript redirect or a meta-refresh interstitial is invisible — to SendProofs and to any other non-browser checker. A destination that answers 200 and then forwards with a script is recorded as a 200 at that URL: the chain in the report is the HTTP chain, and the recorded final URL is the last HTTP address, not necessarily the page a browser ultimately shows.

See the chains inside your next campaign

Upload the delivered test — every report records redirect chains hop by hop.

Create workspace