How are you tracking engagement from printed marketing in HubSpot?

I’m looking for advice from other HubSpot users because I haven’t found a workflow that completely solves this problem.

If you’re sending postcards, brochures, flyers, sales sheets, event handouts, or other printed marketing, how are you tracking engagement once it leaves the printer?

For example:

  • How do you know which contact scanned a QR code?
  • How do you attribute those scans back to a specific campaign?
  • Are you writing scan activity back to the HubSpot contact timeline?
  • Are you using one QR code for everyone, or generating unique QR codes for each contact?

I’m the founder of a company building a HubSpot integration focused on this workflow, so I want to make sure we’re solving a real problem before we submit our Marketplace listing.

Our current approach creates a unique QR code for each HubSpot contact for each campaign, generates print-ready merged PDFs, and writes every scan back to the originating contact automatically.

I’m not looking to promote the product here. I’m genuinely interested in understanding how other HubSpot users are handling offline marketing attribution today and whether this would solve a problem for your team.

If anyone is interested in providing feedback or beta testing, I’d be happy to connect after the discussion.

Hey @Indemption,

Thanks for posting in the Community!

I’m looking to see what insight other users can provide on this matter.

Shane, Senior Community Moderator

Hi @Indemption,

A common approach is to use a single QR code that points to a HubSpot tracking URL (or a URL with UTM parameters). That works well for campaign attribution, but it doesn’t identify which specific recipient scanned the code.

If the goal is contact-level attribution without requiring the recipient to fill out a form, I don’t know of a native HubSpot solution. In that case, unique QR codes per contact seem like a logical approach.

Thanks, Uliana. That’s exactly the conclusion we reached.

Campaign-level QR codes work well when you’re measuring overall campaign performance, but they don’t identify which individual contact engaged.

We ended up generating a unique QR code for every HubSpot contact in a mailing. Each code is tied back to the original contact, so scans can be written directly to that contact record without requiring the recipient to identify themselves first. If someone else scans the code, we compare the submitted information and can create a new contact instead of overwriting the original one.

We’re currently beta testing a HubSpot connected app built around this workflow because we couldn’t find a native way to accomplish it. If you know of any HubSpot users who might be interested in beta testing it and providing feedback, I’d love an introduction.