Raydar free tools · Link decoder

Decode a link with hsa_cam in it

hsa_cam comes from HubSpot's ad tracking, and it rarely travels alone. Paste the link to see every hsa_ tag, including hsa_net, which names the ad network.

Example: https://www.example.com/demo?utm_source=adwords&utm_medium=ppc&hsa_cam=123456789&hsa_grp=987654321&hsa_ad=555111222&hsa_acc=1112223334&hsa_net=adwords&hsa_ver=3

Fourteen tags on one click

With HubSpot's default template, a click on a Google ad lands with a long tail: utm_source=adwords, utm_medium=ppc, two more UTM tags, then ten hsa_ tags ending in hsa_ver=3. HubSpot adds them itself. Once an ad account is connected and auto tracking is switched on, HubSpot applies a tracking template at the campaign level, and it uses the parameters to attribute each contact to the specific ad they clicked. Contacts who clicked before auto tracking was on are not attributed.

Same name, three different IDs

hsa_cam holds a campaign ID, but which one depends on the network. HubSpot's own parameter lists show the split:

  • Google Ads: hsa_cam={campaignid}, the campaign ID
  • Facebook and Instagram: hsa_cam={adcampaignid}, the ad campaign ID
  • LinkedIn: hsa_cam={campaigngroupid}, the campaign group ID, while the LinkedIn campaign ID goes in utm_cam

Read hsa_net first. HubSpot sets it to adwords, facebook or linkedin, and that tells you which row applies. The level below shifts too: on Google links hsa_grp is the ad group, on Facebook links it is the ad set, and HubSpot's LinkedIn template puts the ad set in utm_grp instead.

What strips it off

HubSpot's requirements say link shorteners remove the parameters, with HubSpot's own hubs.ly as the exception, and so does any redirect, including an http to https redirect and third-party click-tracking services. On Google Ads, custom tracking parameters at the ad group or ad level take precedence over HubSpot's, and a campaign-level tracking template must be blank or start with {lpurl} for HubSpot to track the ad.

Still there after you switch it off

Turning auto tracking off removes HubSpot's access to your tracking settings but leaves the parameters already on your ads, so hsa_ tags keep appearing until you remove them in each ad network. Visitors get the same page with or without them. For the advertiser, a visit that arrives without them cannot be tied to its ad in HubSpot. HubSpot's email links use a different parameter, _hsenc, and Google's own click ID is gclid.

Questions

What is hsa_cam in a URL?

hsa_cam is the campaign parameter in HubSpot's ad tracking template. HubSpot adds it to ad URLs once an ad account is connected and auto tracking is on, so a contact can be attributed to the ad they clicked.

What is the hsa_grp parameter for?

It is the level below hsa_cam. On Google Ads links HubSpot fills it with the ad group ID, and on Facebook and Instagram links with the ad set ID. HubSpot's LinkedIn template uses utm_grp for the ad set instead.

Can HubSpot track Facebook and Instagram ads?

Yes. HubSpot tracks most Facebook and Instagram ads, adding hsa_net=facebook and an hsa_src value it sets to Facebook or Instagram automatically. Ads that do not link to an external site, such as Messenger ads, cannot be tracked.

Related parameters: fbclid · gclid · utm_source · igshid

Give your bio link a brain.

Build your page, watch who converts, free to start.

Get started free

No card required.