What _hsenc and _hsmi do
HubSpot appends _hsenc to links inside emails sent through its marketing email tool, generated the moment HubSpot builds and sends that specific email to that specific contact. It almost always appears next to a second parameter, _hsmi. The two are not duplicates of each other.
_hsmi identifies the email send itself, the "message". _hsenc carries the encoded reference back to the contact record the email went to. HubSpot needs both to log a click on the right person's timeline and against the right send.
Also minted for a known contact
_hsenc is generated per contact at send time, which puts it in the same category as mkt_tok on the Marketo page: a value built for a record that already has a name attached, not for an anonymous visitor. Both parameter names are lowercase by HubSpot's convention, and the whole query string is case-sensitive, so copy it exactly rather than retyping it.
Forwarding carries the same risk here as it does with Marketo links. The original recipient's _hsenc value stays in the URL, so a click from a forwarded copy can still register against the person the email was first sent to.
What changes when it's stripped
The destination page loads the same with or without _hsenc and _hsmi attached. That part is simple.
HubSpot's side is where it matters. Click and open reporting for that send will undercount, because the platform cannot match the visit to a contact record. Any workflow set to enroll someone after they click a specific link will not fire correctly for that visit either.
Why two parameters confuse people
Seeing _hsenc and _hsmi together, both starting with an underscore and neither readable at a glance, is usually what sends people searching. They are related, but they are not the same thing: one names the email, the other names the recipient. If the link also carries UTM tags, decode those separately with utm_source, or build fresh tracked links with the UTM builder.