Dynamic QR Codes

Settings

Dynamic QR Codes keeps its options light. QR Codes → Settings has a few tabs, and only store managers (the manage_woocommerce capability) can open them:

  • QR design — the site-wide look of new codes.
  • Print Pro — default print settings.
  • Links & tracking — short links, UTM tags and the Google Tag Manager / GA4 event.
  • Cleanup — diagnostics and one-off housekeeping.

QR design

Colours, size, error correction and margin — plus logo, frame, shape and corners with Pro — for every new QR code. The tab opens on Colours and ends with Size & scanning. Saving it applies to new codes only; to restyle existing ones, use Apply current site design on All QR Codes. Everything is on Design your codes.

Print Pro

Print defaults — paper, layout and marks — used when the Print window opens. Each print job can still change them. Click Save print defaults to keep them. See Print your codes.

This tab has three cards. Each has its own page with the details; here’s the short version.

Off by default. Turn on Use short links (/q/…) for new QR codes and new codes point to yourstore.com/q/k7m2xa instead of yourstore.com/?qrcw=k7m2xa — a less dense code that scans more easily when printed small. Codes you already created keep their address, and every address keeps working whichever you choose.

  • Short links need any permalink setting except Plain. The switch is refused while permalinks are Plain: “Short links don’t work with Plain permalinks. Choose any other setting under Settings → Permalinks.”
  • On a store at the domain root, the address is stored in capitals inside the code (YOURSTORE.COM/Q/K7M2XA), which fits it into fewer squares. Some phone cameras show it that way; it opens the same page.

More, including page caches and what blocks /q/: Short links.

Tracking tags

Add UTM tags when a scan opens your site or a link is on by default and applies to every scan, old codes included. Set the Source (default qr) and Medium (default print). WooCommerce then shows a QR order’s origin as Source: qr instead of “Direct”, and Google Analytics reports the visit under qr / print.

  • A code opened as a copied link uses the medium link; a code in a campaign adds the campaign’s name as utm_campaign; each code adds its own utm_content.
  • A scan counts as the latest visit: an earlier ad click in the same session is replaced by it.
  • Turn the switch off and no tags are added anywhere.

Precedence rules and examples: Tracking tags.

Google Tag Manager / GA4

Send a qr_scan event to Google Tag Manager / GA4 is on by default. The first page a scan opens on your store adds one qr_scan event to the dataLayer, with the code, its label, campaign, type and whether it was scanned or opened as a link. The plugin doesn’t load Tag Manager or Analytics itself: your own tag setup and cookie consent decide what is sent. Scans that lead to other websites send nothing. Details on Tracking tags.

So nobody breaks printed short links by accident, WordPress’s own Settings → Permalinks screen gets a read-only row, QR code short links. It says whether short links are on (“On: new QR codes use short links like yourstore.com/q/k7m2xa.”) or off, how many printed codes use /q/, and what would break them (“They stop working if you choose Plain.”). To change the setting, follow Change in QR Codes → Settings → Links & tracking.

If permalinks are switched to Plain while printed codes use short links, store managers see a warning on every admin screen: “N printed QR codes use short links and will stop working — set Permalinks to any setting other than Plain.” Pick any other setting and they work again.

Cleanup

Diagnostics

The Enable diagnostic logging toggle records what the plugin is doing — scans, coupon application, order attribution — into WooCommerce → Status → Logs under the source qrcw, where you can read or download it. It’s the first thing to turn on if something isn’t adding up, and the log is what support will ask for.

Leave it off during normal use: the log can contain order and product IDs. Turn it on only while you’re chasing a problem.

The danger zone

Everything in the danger zone permanently deletes data and can’t be undone. Each row shows a live count of exactly what it will remove, so nothing is deleted blind.

QR codes & files

  • Delete all QR codes — every code, and the images you added to the Media Library. Scan history is kept.
  • Delete leftover QR codes & files — codes, images and print layouts that still point to a product or campaign you’ve deleted. Active codes and scan history are kept.
  • Delete unused QR images — images the plugin added to the Media Library whose code no longer exists. Anything still in use, and any file you uploaded yourself, is left alone. This also runs automatically once a week.
  • Delete all print layouts Pro — saved print layouts only; codes and images are kept.

Scan & analytics data

  • Clear scan history — your entire scan and analytics history, resetting every report and every Visits count to zero. Codes are kept.
  • Clear analytics for deleted products & campaigns Pro — the “(deleted product)” and “(deleted campaign)” rows in your reports. Scans a code made while it was in a deleted campaign are cleared too, even if the code still exists; its scans in other campaigns are kept.
  • Clear analytics for deleted QR codes Pro — history left by codes you deleted from products or campaigns that still exist. This lowers those products’ and campaigns’ totals.

Campaigns Pro — delete every campaign while keeping its other QR codes and print layouts, or delete campaigns together with all their codes and print layouts. Scan history is kept either way. See Campaigns.

Reset everything deletes everything the plugin has stored — every QR code, image, and all scan and analytics history — and resets every setting to its default. You have to type DELETE to confirm.

Deleting codes breaks their printed copies — scans of a deleted code just open the shop. If a code may still be out in the world, retire it instead.

Next: Troubleshooting →