What each one is
A QR code is a scannable square that opens a web address. Modern phone cameras read them without an app, which removed the main obstacle that made them a punchline a decade ago.
A personalized URL — a PURL — is a unique web address printed on the card, often incorporating the recipient's name or a code. The recipient types it in.
Both do the same job: they tie a visit to a specific card and therefore a specific recipient, so you know who responded rather than just how many.
Where the QR code wins
Almost anywhere the card is read with a phone in reach, which is most places mail is opened.
Scanning is one motion. Typing a URL is a dozen keystrokes with several chances to get it wrong, and every mistyped character is a lost response that looks identical to no response.
The practical consequence is that QR codes usually carry the large majority of tracked responses on a card that offers both. If you are only going to do one thing, do this one.
Where the printed URL earns its place
Some people will not scan a code. Older recipients disproportionately, and anyone who is wary of scanning unfamiliar codes — a caution that is not unreasonable.
A short, readable URL gives those recipients a path that does not depend on scanning. It also survives situations the code does not: a card that is photographed, forwarded, or read in poor light.
It costs nothing but a line of space, so the usual answer is to print both and let the recipient pick.
Making either one work
The destination matters more than the mechanism. Both methods deliver someone to a page on a phone, and if that page is slow, not mobile-friendly, or asks for information before showing the offer, the response is lost after you already paid for it.
Send them to a page that matches the card. If the card said $40 off a first cleaning, the page should say $40 off a first cleaning at the top, and the next action should be booking.
Test the whole path on an actual phone before the run prints. Scan the proof, follow it through, and try to book. This takes five minutes and catches the failures that would otherwise waste an entire drop.
What tracking does not tell you
Neither method captures the response that never touches the internet — the person who reads the card and phones you, or simply walks in.
That is a real and often large share of responses in local service businesses, and a tracked-only view will understate your campaign, sometimes badly.
Cover it by asking. "Did you get a card from us?" at the desk or on the phone costs nothing and closes the gap between what you can measure and what actually happened.