A QR code is a scannable link from a physical surface to a phone. Native camera support ended the app-download problem that killed the format's first life, and it is now the cheapest reliable way to move someone from a screen to the device that can actually take a payment or an email address.
For signage the logic is clean: screens earn attention in a place, phones earn conversion. A code is the bridge, and it works without any hardware beyond the screen already there.
The caveat is that the code is the easy half and the landing page is where it fails. The person scanning is standing up, on mobile data, and often already walking away. A landing page that loads slowly, assumes a desktop layout, or asks for a login before showing anything wastes the scan entirely.
Two practical rules. Make each placement a distinct URL so you can tell which screen produced which scan; a single shared code destroys the only measurement the format offers. And say what the code does; "Scan for 10% off" is scanned far more than a bare square, because scanning something unlabelled is an act of faith.