FlowZa QRForge

The code is printed.
The destination
is not.

Dynamic QR codes with live analytics. What goes to print is an identifier. Where it resolves is a record you can edit at 11:20 on a Tuesday, from a phone, without touching the four thousand table cards already on the tables — and every scan against it is logged with location, device, OS and time.

Dynamic redirectsScan analyticsBulk generation

  • SymbolPrinted, and then fixed. A short identifier and nothing else. There is no menu, no price and no campaign inside it.
  • DestinationA live record. Edited in the dashboard, effective on the next scan, with no reprint and no reissue.
  • Scan logOne row per scan. Time, location, device, OS and the destination that was served.

10M+
QR codes generated on the platform
<0.3s
average redirect time per scan
60%
higher engagement versus static codes
99.99%
redirect infrastructure uptime

Dynamic redirects

One symbol.
Four destinations.
Nothing reprinted.

The card on the left is the physical object: four thousand two hundred of them went to print in September 2025 and not one has been reissued since. Choose a destination and watch the matrix. It does not redraw, because there is nothing in it to change — and the scan total underneath it keeps counting through every change.

QRF-UE-0042 · PRESSED 12 SEP 2025 · UNCHANGED
98,190Scans recorded against this code, cumulative

The symbol carries a short identifier. Every change below edits the record it points at, not the ink.

DESTINATION 2 OF 4

Winter menu

LIVE 01 DEC – 28 FEB

urbaneats.ae/menu/winter

Changed01 Dec 2025 · marketing
ReprintedNothing
Scans in this period56,310

Same table cards. Nothing reprinted, nothing reissued. A seasonal changeover that would otherwise be a print run. The destination is edited in the dashboard and the next scan resolves to the new page.

Cumulative scans on QRF-UE-0042 through destination 2 of 4: 98,190. The symbol has not been reissued.

Worked example with illustrative scan volumes. What is not illustrative is where the totals sit: they accumulate against the code rather than against the destination, so autumn against winter is a like-for-like comparison — same symbol, same placement, same audience, one variable. That is also why the closure notice is measurable at all; a five-day message on a door would otherwise leave no record.

Real-time scan analytics

Every scan is a row,
not a tick on
a counter.

A counter tells you a code is popular. QRForge writes one row per scan carrying location, device, OS and time, which is what lets the four dimensions be crossed rather than reported beside each other. Building an audience profile is that, literally: the profile is assembled from rows.

TIME OF DAY · WINTER MENU · 56,310 SCANSTwo peaks

Scans by hour of day form two distinct peaks: a lunch peak just after 13:00 and a larger dinner peak at 19:00, with the dinner peak roughly ten per cent higher. Fewer than one scan in twenty happens before 09:00, so a morning promotion behind this code would reach almost nobody.

Share of scans by hour, local time. Two peaks, and the larger one is dinner — which is when a menu change should take effect.

Device and operating system

iOS · Safari44.2%
Android · Chrome38.6%
iOS · in-app browser9.4%
Android · in-app browser5.1%
Other2.7%

Recorded per scan, not sampled. The in-app browser share is the number that decides whether a destination can rely on a wallet pass or a native app hand-off at all.

Geography and placement

Dubai MarinaTable cards, 3 sites31.4%
Business BayTable cards, 2 sites24.8%
DeiraPackaging inserts16.2%
Abu DhabiTable cards, 1 site13.1%
SharjahPackaging inserts9.6%
ElsewhereUnattributed placement4.9%

Location is derived from the request and attributed to the placement the code was deployed on, which is how a packaging insert and a table card can be compared honestly.

one scan · expandedrow 41,882 of 56,310
SCANscn_7741e2 · 19 Jan 2026 · 19:41:08 GST
CODEQRF-UE-0042 · table card, Marina site 2
CAMPAIGNWinter menu · Urban Eats Group
LOCATIONDubai Marina, AE · derived from request
DEVICEiPhone · iOS 18.3 · Safari
DESTINATIONurbaneats.ae/menu/winter · resolved 0.21s
ROUTENo rule matched · default destination
OUTCOMEReached menu · 2 pages · loyalty signup
  • Per scan, not per day

    The chart above is a summary of rows like this one. Because the rows are kept, a question nobody asked at launch — how many Android users in Sharjah arrive after 21:00 — is a filter rather than a new tracking plan.

  • Live, not batched

    A scan appears in the dashboard as it happens. On a code that has just gone up on a door, that is the difference between watching a message land and hearing about it tomorrow.

  • Measured against the code

    Because the identifier is stable for the life of the printed object, the history is continuous. Nothing resets when the destination changes.

Illustrative campaign. The dimensions are the ones QRForge records on every scan: location, device, OS and time.

A/B tests and smart routing

One code can ask
who is holding it.

Behind a single symbol sits an ordered rule set. The first rule that matches wins; anything unmatched falls through to the default, which can itself be a weighted split. Nothing here requires a second code, which means nothing here requires a second print run.

ONE PRINTED SYMBOL · RULES EVALUATED IN ORDER · FIRST MATCH WINSSCAN ARRIVESQRF-UE-004201 · TIMEScan between 06:00 and 11:00 local/menu/breakfast02 · LOCATIONScan originates in Abu Dhabi/menu/abu-dhabi03 · DEVICEHandset is Android, or handset is iOSAndroid · store listingiOS · store listing04 · DEFAULT · A/B SPLITEverything else, weighted 50 / 50A · 50% /menu/winterB · 50% /loyalty/joinEACH ARM REPORTS SEPARATELY · SAME SYMBOL, SAME PLACEMENT

Split-test destinations

Two or more destinations behind one code, weighted. The audience, the placement and the symbol are identical across arms, so the only variable left is the page — which is what makes the result worth acting on.

Route by location or device

A code on regional packaging can send each market to its own page, and a code advertising an app can send each handset to the right store, from one printed artwork.

Schedule the redirect

Time-based rules change the destination on a clock rather than on somebody remembering. A breakfast menu until eleven, an event page until the doors close, a thank-you page afterwards.

Branded code design

A code is artwork
before it is a link

The symbol is going on a menu, a window or a carton, which makes it a design object with a tolerance. QRForge keeps the brand treatment on the side of that tolerance where the code still reads.

  • Brand colours and embedded logos

    Your palette on the modules, your mark in the centre, with the contrast and quiet zone that keep a camera reading it first time.

  • Custom frames

    A frame carries the instruction — what the person gets for scanning. On a table card that sentence does more for the scan rate than the symbol design does.

  • Print-perfect export

    Multiple formats, including vector SVG that goes to a printer at any size without softening the module edges. What the designer places is what the camera reads.

Brand coloursEmbedded logoCustom framePrint-perfect SVG

Bulk generation

One file in,
a campaign out

Thousands of unique codes from one CSV in seconds. Unique matters: a code per table, per carton or per outlet is the only way the analytics can tell you which placement worked rather than that the campaign worked.

Table cards · MarinaFOLDER · WINTER MENU 20251,400 codes
Table cards · Business BayFOLDER · WINTER MENU 20251,100 codes
Table cards · Abu DhabiFOLDER · WINTER MENU 2025700 codes
Packaging insertsFOLDER · RETAIL PACKS1,000 codes

One upload, four folders, 4,200 unique codes. Folders carry team permissions, so an agency can be given the campaign it is working on and nothing else.

  • Campaigns, folders and permissions

    Codes are organised into campaigns rather than kept in a list. Who can create, re-point or export is set per folder — re-pointing a live code is a permission, because it changes what the public sees.

Campaign dashboards

Reports you can put
in front of the client
who paid for it.

Scan heatmaps, conversion funnels and campaign comparisons, exportable and shareable. The comparison is the useful one: two campaigns measured the same way, by the same instrument, on the same axes.

  • Scan heatmaps

    Where and when scanning concentrated, across placements and hours, so the next print run goes where the last one was actually read.

  • Conversion funnels

    Scan, landing, action. The drop between the first two is a placement problem; the drop between the last two is a page problem, and they need different people.

  • Campaign comparisons

    Autumn against winter, insert against table card, arm A against arm B — on one set of axes rather than in two exports that were built differently.

  • Exportable and client-ready

    Shareable as a report or exported for a deck, which matters when the person who needs the number does not have a login.

Where QRForge sits in the nine

The one system whose output leaves the building

Eight of the nine FlowZa AI applications are read by people who work for you. QRForge is not. A code printed on a carton or a menu is a FlowZa record that a member of the public can reach — from a pavement, a table, a shelf, months after it was printed and long after whoever printed it has moved on.

That is why the mechanism is built the way it is: nothing meaningful in the symbol, the destination held as a record, permissions on who may re-point a live code, and 99.99% uptime on the redirect. It is also why the scan record is worth keeping. A person you have never met told you where they were, what they were holding and when they were interested, and QRForge keeps that record with the campaign it belongs to — queryable over its API for whatever you want to do with it next.

How it works

Design, deploy, then keep changing it

  • 01

    Create your codes

    Design one branded code or upload a CSV to mint thousands. Set destinations, add the brand elements, download in the format the printer asked for.

  • 02

    Deploy and track

    Print them, embed them, ship them on packaging. Every scan is captured as it happens — who, when, where, on what device.

  • 03

    Optimise on live codes

    Change destinations, run A/B tests and adjust routing without reprinting. The scan data keeps sharpening the campaign after the print budget has been spent.

“We run hundreds of simultaneous marketing campaigns and FlowZa QRForge is the backbone of all of them. The ability to update destinations after print saves us thousands in reprinting costs every month. The analytics are outstanding.”

Fatima Al-HassanHead of Marketing, Urban Eats Group

Questions marketing teams ask

Are static codes ever the right answer?

Yes — for a destination that will never move and a code you will never want to measure. Everything else pays for the redirect on the first change of mind. The published 60% engagement difference is measured against static codes, and most of it comes from codes staying relevant rather than from the symbol itself.

What does the redirect cost the visitor?

An average of under 0.3 seconds per scan, on infrastructure with 99.99% uptime. The hop is where the scan is logged and the routing rules are evaluated, which is the price of the code being changeable at all.

Will a dynamic code scan on any phone?

It is an ordinary QR symbol holding a short address, so any native camera app reads it without an application to install. The intelligence is behind the address, not inside the symbol.

Can an agency work in our account without seeing everything?

Yes. Codes live in campaigns and folders, and permissions are set per folder — including who may re-point a code that is already in the field, which is the action worth restricting.

How many codes can we generate at once?

Thousands from a single CSV in seconds, each one unique and each one tracked separately. Uniqueness is the point: a code per placement is what turns a campaign total into a per-placement answer.

Related