12 دقیقه مطالعه

نحوه استفاده از کدهای QR WhatsApp برای تجارت (راهنمای 2025)

از کدهای QR WhatsApp برای شروع سریع چت استفاده کنید.

UrwaTools Editorial به‌روزرسانی‌شده
نحوه استفاده از کدهای QR WhatsApp برای تجارت (راهنمای 2025)
فهرست مطالب

A WhatsApp QR code is a printed shortcut into your inbox. Someone points a camera at it, taps once, and a chat with your business opens with the draft message already written. No number to copy, no contact to save, no form to fill. That is the whole value proposition, and it is why QR codes have become the standard bridge between a physical surface and a WhatsApp conversation.

What separates a code that produces enquiries from one that gets ignored is not the design. It is four unglamorous decisions: the number format inside the link, the encoding of the pre-filled message, the physical size relative to scanning distance, and whether you built any way to measure the thing before you printed a thousand of them.

This guide walks each of those in order and separates the tracking that genuinely works from what people assume works.

A WhatsApp QR code is a picture of a click-to-chat URL. Nothing more. The pattern encodes a text string, the camera decodes it, and the operating system hands that URL to WhatsApp, which opens a draft conversation with the number in it.

Because the code is only a picture of a string, every behaviour you want must be built into the string first: you do not configure a QR code, you configure a URL and photograph it. Decoding a code with a QR code reader reveals the exact string it carries, the only reliable way to audit a code you did not build.

WhatsApp accepts a short form and a long form, and they behave identically.

PurposeURL patternNotes
Open a chathttps://wa.me/<number>Shortest string, so the best choice for print
Open a chat with a drafthttps://wa.me/<number>?text=<encoded message>Message must be percent-encoded
Long formhttps://api.whatsapp.com/send?phone=<number>Named parameters, easier for systems that build URLs
Long form with drafthttps://api.whatsapp.com/send?phone=<number>&text=<encoded message>Same result, longer string, denser QR pattern

For anything that will be printed, use the short form. A shorter string produces a QR code with fewer modules, and fewer modules means each module is physically larger at the same print size - which is exactly what buys you scanning distance.

The number goes in as a full international number in digits only:

  • Country code first, no plus sign. 15551234567, never +15551234567.
  • No leading zero. The zero many countries put in front of a local number is a domestic trunk prefix. It is not part of the international number and it must go. A number written locally as 0300 1234567 with country code 92 becomes 923001234567.
  • No spaces, dashes, brackets or dots. Anything that is not a digit breaks the path segment.

When you are converting a list of numbers from a CRM export or a contacts sheet, a phone number extractor pulls the raw digit strings out in one pass so you can strip prefixes systematically instead of eyeballing each row. Once the URL is assembled, running it through a URL parser confirms the number sits in the path and the message sits in the query string, which is where a hand-built link usually goes wrong.

The text= value lives in a query string, so it has to be percent-encoded. This is where messages silently truncate.

Character in your messageMust be written asWhat happens if you skip it
space%20Message breaks at the first space
line break%0ANo way to produce a second line
&%26Everything after it is parsed as a new parameter
#%23Everything after it becomes a URL fragment and is dropped
+%2BRenders as a space instead of a plus
=%3DCan confuse parsers that split on the first equals sign

Encode the whole sentence at once with a URL encoder and paste the output after text=. To read back a link somebody else built, a URL decoder turns the escapes into plain text so you can check what the customer will actually see in their draft.

Write the draft from the customer's side, not yours. "I'd like to book a table for Friday evening" is a message a person will send unedited. "Hello, I am interested in learning more about your products and services" is one they will delete and retype, which defeats the point.

  1. Convert your business number to full international digits: country code, no plus, no trunk zero, no separators.
  2. Build the base URL as https://wa.me/ plus that number, and open it on a phone to confirm it reaches the right inbox.
  3. Write the pre-filled message, encode it, and append ?text= plus the encoded value. A WhatsApp link generator assembles the number and message into a valid URL if you would rather not hand-build the query string.
  4. Test on Android, iPhone and a desktop browser. Desktop routes through WhatsApp Web and is where malformed links usually surface.
  5. Paste the tested URL into a QR code generator, raise the error-correction level if you plan to place a logo, and export.
  6. Decode the exported image with a QR code reader and compare the result to your URL character by character.
  7. Print one proof at final size, tape it where the real thing will go, and scan it from where a real customer will stand.

WhatsApp's own business documentation lists QR codes and short links among the free entry points available to a business account, alongside action buttons on a connected Facebook Page and Instagram profile. In the WhatsApp Business app these sit under the business tools: you copy the short link, edit the pre-filled message attached to it, and download the QR code image for printing.

Two properties of the built-in version matter for planning. It is bound to your registered business number, so the destination cannot be repointed later. And the app lets you reset the code, which issues a new one and stops the old one working - useful when a code leaks or a print run has to be withdrawn, disastrous if that code is already on packaging in the field.

For most small businesses this is the fastest route to a working code and it costs nothing. You go to an external generator for branding control and for tracking, not because the built-in one is deficient. If you are wiring WhatsApp into a wider system, these QR code integration tips for WhatsApp Business cover the setup side in more depth.

A static code encodes your wa.me URL directly. It is permanent, dependency-free, and produces no data. A dynamic code encodes a redirect service's short URL instead; the scan hits that service, gets logged, and is forwarded to WhatsApp. The redirect is the only reason a dynamic code can count scans or change destination.

ConsiderationStaticDynamic
Destination after printingPermanentEditable at any time
Scan countsNoneLogged by the redirect service
External dependencyNoneService must stay live and paid
Recurring costNoneUsually a subscription
Failure modeWrong number means a reprintLapsed service means every code dies
Use it forSignage, long-life packaging, permanent fixturesSeasonal campaigns, tests, anything you may repoint

Before trusting a dynamic code somebody hands you, expand its redirect chain with a URL unshortener and confirm the final destination is your number and not an intermediary you did not authorise. A comparison of both approaches in practice is covered in this look at QR codes for sharing WhatsApp Business contact details.

This is where most WhatsApp QR advice goes wrong, so be precise about it. Google Analytics measures traffic to pages you control. A scan that goes straight from a printed code into WhatsApp never touches your site, so nothing about it appears in your analytics - and campaign parameters appended to a wa.me URL are simply ignored by WhatsApp. Tagging alone does not create measurement.

There are three routes that do work:

  • Redirect service in front of the link. The service logs the request before forwarding to WhatsApp, giving you scan counts, timing and coarse device data. This is the dynamic-code route.
  • Route the scan through your own page first. Point the code at a short landing page carrying a chat button. Now the visit is real traffic, campaign parameters are read normally, and the button click can fire an event. Build those parameters consistently with a UTM builder so casing and naming stay identical across every flyer, poster and sticker - inconsistent values are the usual reason one campaign splits into five near-duplicate report rows.
  • Distinct pre-filled messages per placement. The cheapest method and the one nobody uses. Give each surface its own draft text so the incoming chat announces its own origin. It costs nothing, needs no service, and works with a purely static code.

A tagged link like https://wa.me/15551234567?text=Hi!&utm_source=flyer&utm_medium=qr&utm_campaign=summerpromo is only meaningful when something logs it on the way past. On its own it is a wa.me link with decoration. For a deeper treatment of joining scan data to conversation outcomes, see this guide to QR code tracking, analytics and performance for WhatsApp Business.

Where the entry point is a button on your own site rather than a printed code, an analytics event on that click supplies the missing half of the funnel. Fire a custom event on press and attach the page's campaign values and the button's location. You will not see inside the conversation, but you will see which pages and campaigns push people into chat - enough to decide where to spend.

Scanning failures come from a small number of physical mistakes.

  • Contrast. Dark modules on a light background. Never invert, never place a code over a photograph. If you are tinting the code toward brand colours, verify the pair with a color contrast checker first, because a scanner needs luminance difference, not hue difference.
  • Quiet zone. Keep clear space on all four sides. Butting the code against text or a panel edge is a frequent cause of slow reads.
  • Square. Never stretch a code to fill a layout box; the module grid stops being square and decoding fails.
  • Size. Work to roughly a ten-to-one ratio - the code should be about a tenth of the intended scan distance across.

Applying that ratio gives these working minimums:

Scanning distanceMinimum widthWhere it applies
25 cm2.5 cmBusiness card, receipt, product label
60 cm6 cmTable tent, menu, counter card
1 m10 cmShelf talker, till-point sign
3 m30 cmWindow decal, booth graphic
6 m60 cmWall poster, roller banner
12 m1.2 mVehicle wrap, large-format signage

Export vector - SVG, EPS or PDF - for print, and PNG for screens. Avoid JPG entirely: its compression softens the black-to-white edges that decoding depends on, and small codes suffer worst.

Packaging works for reorders and support. Receipts work for reviews and follow-up offers. Social bios link straight through. Event booths turn a passing conversation into a saved thread. Windows and counters catch people already deciding whether to walk in.

In every case the caption does more work than the code. "Scan to chat with us on WhatsApp" or "Scan to check stock" tells someone what will happen; an uncaptioned code asks them to gamble. Pair the caption with a pre-filled message that matches it, so the promise on the sticker and the draft in their phone say the same thing. For placement ideas mapped to business type, see this breakdown of using QR codes to drive traffic to your WhatsApp Business profile.

A scan is an opt-in to one conversation, not consent for broadcasts. Keep promotional messaging within WhatsApp's business and commerce policies, get explicit consent before adding anyone to a broadcast list, and set an away message so scans outside opening hours still get an answer. A code that produces two days of silence damages more trust than no code at all.

A static code encoding a wa.me link does not expire on its own. It stops working if the number is deregistered, or if you reset the code in WhatsApp Business, which retires the previous one. A dynamic code stops working when its redirect subscription lapses.

Not through WhatsApp. Scan counts require a redirect service in front of the link, or a landing page between the scan and the chat. Without either, use a distinct pre-filled message per placement so the chats themselves identify their source.

No. Analytics only sees traffic to pages you own, and WhatsApp ignores unknown parameters. Tags become useful once the URL passes through a redirect service that logs them or a page on your own site.

The number is not in international format. Remove the plus sign, spaces, dashes and brackets, add the country code, and drop the local trunk zero if your country uses one.

Yes, if you raise the error-correction level to compensate for the covered modules and keep the logo small relative to the code. Always re-decode the export afterwards rather than assuming it still reads.

Use the built-in one when you need a working code quickly and do not need branding or scan data. Use an external generator when you want design control, a specific pre-filled message per placement, or an editable destination.

Get the number right, encode the message properly, decode your own export before printing, and size the code for the distance people will actually stand at. Decide up front whether you need editable destinations and scan counts, because that single decision determines static or dynamic and cannot be reversed once the code is on a box.

Then give each surface its own pre-filled message and let the conversations tell you which placements earn their space. A WhatsApp QR code is not a marketing asset in itself - it is a shortcut past the two steps that lose customers, finding your number and deciding what to say.

سوالات متداول

Can I change my QR after printing?

Only if you use dynamic code, static ones stay fixed.

How can I secure my WhatsApp inbox?

Enable two-step verification and assign only verified team members.

Where can I generate these QR codes?

Use the WhatsApp Business App or a reliable QR generator that supports wa.me links.

نوشته شده توسط UrwaTools Editorial

The UrwaTools Editorial Team delivers clear, practical, and trustworthy content designed to help users solve problems efficiently. Our articles focus on accurac...