Skip to main content

Google Analytics 4

You can send every scan of a project's QR codes to your own Google Analytics 4 (GA4) property. Then you see QR scans next to your website traffic, in the reports you already use.

GA4 is available on paid plans, not during the free trial. It is set up per project, by the project's owner.

What you need​

  • A GA4 property with a web data stream.
  • Two values from Google Analytics:
    • the Measurement ID, which looks like G-XXXXXXXXXX;
    • a Measurement Protocol API secret.

Step 1: Get the values from Google Analytics​

  1. In Google Analytics, open Admin → Data streams and click your web stream.
  2. Copy the Measurement ID (G-XXXXXXXXXX).
  3. In the same stream, open Measurement Protocol API secrets and click Create. Give it a name, such as QRForge, and copy the secret value.

Step 2: Connect in QRForge​

  1. In the left menu, click Projects.
  2. On the project's row, in the Integration column, click Connect.
  3. In Connect Google Analytics 4, paste the Measurement ID and the API Secret.
  4. Choose the Send region: EU sends to Google's EU collection address, US to the global one. This does not change where GA4 stores your data.
  5. Click Save & Connect.

QRForge saves the settings and sends a test event called qrforge_connection_test.

Step 3: Confirm the test event​

  1. In Google Analytics, open Admin → DebugView (or Reports → Realtime).
  2. Look for the event qrforge_connection_test. It should appear within a minute or two.
  3. Back in QRForge, open the project's GA4 menu and choose I see it in GA4.

The status changes to GA4: Connected. From now on, every scan is sent to GA4 straight away.

What is sent​

Each scan is sent as an event called qr_scan, with details such as which QR code was scanned, its type, the country and city, the device type, browser and system, and the code's tracking parameters if it has them. Trail entry QR codes also send the trail.

Each scan is sent as a separate anonymous visitor. QRForge does not send the visitor's internet address, cookies or any personal data.

Who keeps this copy​

The events sent to Google Analytics are a copy in your own Google Analytics property. Google keeps them according to your GA4 data retention settings, not QRForge's. Deleting your QRForge account, or disconnecting GA4, does not remove events that were already sent. To remove them, use the data deletion tools in Google Analytics.

To see these details in your reports, create event-scoped custom dimensions in GA4 for qr_id, qr_type, scan_source, short_url_id, project_id and trail_id.

The GA4 status​

The project row shows the GA4 status:

  • GA4: Not connected — click Connect to set it up.
  • GA4: Sent — confirm in GA4 — confirm the test event (Step 3).
  • GA4: Connected — scans are being sent.
  • GA4: Needs attention — something is wrong. Choose Edit and check the values, then Re-test.
  • GA4: Paused — … — your plan or account does not include GA4 right now. Sending resumes automatically when you subscribe or upgrade.

To stop sending, choose Remove. Scans are no longer sent and the saved API secret is deleted.

Troubleshooting​

The test event doesn't appear The Measurement ID or API secret is probably wrong. Choose Edit, paste both values again, and Re-test. Leave the API secret empty to keep the saved one.

"Must match G-XXXXXXXXXX" — Copy the Measurement ID, not the stream ID or property ID.

"GA4 integration is available on Pro and above." / "Subscribe to a paid plan to connect Google Analytics 4." — See Plans and what's included.

"Too many attempts. Please wait a few minutes and try again." — Wait, then try again.

GA4 numbers differ from QRForge numbers — GA4 receives scans immediately; QRForge's own analytics update nightly. GA4 may also filter or sample data.

For more about privacy, see the QRForge Privacy Policy.