Sat Oct 18 Estimated time: PT40M

How to Build a QR Code Strategy for App Clips

Learn how to design, generate, place, and track QR codes that trigger iOS App Clips. A complete guide to using QR codes as an app discovery and user acquisition channel.

QR code strategy for App Clips

Why QR Codes Are the Best Entry Point for App Clips

QR codes are the most accessible physical trigger for App Clips. They work on every iPhone with a camera (iPhone 6s and later), require no special hardware beyond a printed code, and users already understand how to scan them.

Unlike NFC tags, which require close physical contact and only work on iPhone XS and newer, QR codes work from a distance. Unlike App Clip Codes, which require Apple-specific generation tools and user education, QR codes are universally recognized. This makes QR codes the highest-reach physical invocation method for App Clips.

For your App Store Optimization strategy, QR codes create a discovery channel that exists entirely outside the App Store. Every scan is a zero-friction touchpoint where a user goes from having never heard of your app to actively using it in under three seconds. That kind of conversion speed is impossible through traditional store search.

Step 1: Define Your Use Cases and User Flows

Start by mapping every scenario where a user might scan a QR code and get value from your App Clip. The strongest QR code placements share three characteristics: the user has an immediate need, the App Clip solves it instantly, and the code is positioned exactly where the need occurs.

High-Value Use Cases

CategoryUse caseQR code locationApp Clip action
Food and drinkOrder from tableTable tent, menu insertLoad restaurant menu, pre-select table
ParkingPay for spotMeter, pay station, garage entranceShow parking payment screen with lot pre-filled
RetailProduct detailsShelf tag, product displayShow reviews, specs, try-on features
EventsCheck inBadge, entrance poster, ticketScan ticket, show schedule, access venue map
FitnessBook classStudio door, schedule boardShow class details and booking form
TransportRent vehicleBike, scooter, car windshieldUnlock vehicle and start rental
HospitalityRoom servicesHotel room card, lobby signOrder room service, request housekeeping
HealthcarePatient intakeWaiting room sign, appointment cardFill out intake forms before being called

Mapping the User Flow

For each use case, sketch the complete flow from scan to conversion:

  1. Context: Where is the user and what are they doing?
  2. Scan trigger: What motivates them to scan? (visual prompt, staff instruction, curiosity)
  3. App Clip Card: What do they see on the card? (title, subtitle, image)
  4. First screen: What loads when they tap “Open”?
  5. Core action: What do they accomplish in the App Clip?
  6. Install prompt: When and how do you suggest the full app?

Design every element of this flow before generating a single QR code. A code that links to a generic home screen wastes the user’s intent. A code that links to the exact screen they need converts.

Step 2: Design Your URL Schema

Every QR code encodes a URL. The structure of that URL determines what the user sees and what data you collect. Get the schema right before you generate any codes.

URL Structure

Use path segments for routing and query parameters for attribution:

https://yourdomain.com/{feature}/{entity-id}?source=qr&location={location-id}&campaign={campaign-name}

Real examples:

https://yourdomain.com/menu/joes-pizza?source=qr&location=table-5&campaign=summer-2025
https://yourdomain.com/parking/lot-downtown-a?source=qr&spot=b12&campaign=garage-rollout
https://yourdomain.com/event/tech-conf-2025/check-in?source=qr&gate=north
https://yourdomain.com/book/spin-class-monday?source=qr&location=gym-downtown

Parameter Conventions

Establish a consistent parameter schema across all your QR codes:

ParameterPurposeExample values
sourceInvocation channelqr, nfc, web, email
locationPhysical placement identifiertable-5, lot-a, lobby
campaignMarketing campaign namesummer-2025, launch-week
partnerPartner or venue namejoes-pizza, city-parking
variantA/B test varianta, b, control
promoPromotional codeWELCOME10, FIRSTORDER

Avoid Common URL Mistakes

Don’t use link shorteners. Services like bit.ly break Universal Links and prevent App Clip invocation. The QR code must contain your actual domain URL for iOS to recognize it and trigger the App Clip.

Don’t use excessively long URLs. Longer URLs create denser QR codes that are harder to scan, especially at smaller print sizes. Keep URLs under 100 characters when possible. If you need detailed attribution, use short location IDs that map to full metadata in your backend.

Don’t use HTTP. App Clip invocation requires HTTPS. Every URL in every QR code must use the https:// scheme.

Don’t include sensitive data. QR codes are visible to anyone with a camera. Never encode user tokens, API keys, or personal information in QR code URLs.

Step 3: Generate QR Codes with the Right Specs

A QR code that looks fine on your screen can fail completely when printed on a menu card and scanned under dim restaurant lighting. Technical specifications matter.

Error Correction Levels

QR codes have four error correction levels that determine how much damage or obstruction a code can tolerate:

LevelRecovery capacityBest for
L (Low)7%Digital displays, clean indoor environments
M (Medium)15%General indoor use, most printed materials
Q (Quartile)25%Codes with logo overlays, moderate wear environments
H (High)30%Outdoor use, codes that may get dirty or damaged

Use Level Q or H for any physical placement. Use Level M for digital-only codes. If you add a logo to the center of the code, use Level H to compensate for the obscured modules.

Size Guidelines

The minimum size depends on the scanning distance:

Scanning distanceMinimum code sizeTypical use
10 cm (4 in)2 cm x 2 cmBusiness cards, product tags
30 cm (12 in)3 cm x 3 cmTable tents, menu inserts, shelf tags
1 m (3 ft)6 cm x 6 cmCounter signs, wall posters at eye level
3 m (10 ft)15 cm x 15 cmStorefront windows, large signage
10 m (30 ft)50 cm x 50 cmBillboard, stadium displays

The general rule: the code should be at least 1/10th of the scanning distance in size. Always test at the actual placement distance before mass printing.

Format and Resolution

  • Generate codes in SVG format for print materials (infinite scalability)
  • Use PNG at 300 DPI or higher when SVG is not supported
  • Never scale up a low-resolution QR code bitmap. Regenerate at the target size
  • Maintain a quiet zone (white border) of at least 4 modules wide around the code. Most generators include this automatically, but verify if you are placing codes on dark or busy backgrounds

Scanning Reliability Testing

Before deploying any code, test it under conditions that match the real environment:

  • Scan from the expected distance
  • Scan under the actual lighting (fluorescent, dim restaurant lighting, outdoor sunlight, shade)
  • Scan at angles (users don’t always hold their phone perfectly straight)
  • Scan with different iPhone models (older cameras have lower resolution)
  • Scan through glass or plastic if the code will be behind a protective cover

If any test fails, increase the code size, raise the error correction level, or improve the contrast between the code and its background.

Step 4: Design Branded QR Code Visuals

A plain black-and-white QR code works, but a branded code gets scanned more. Visual design directly affects scan rates because it communicates trust, context, and intent.

Adding Your Brand

Most QR code generators support visual customization:

  • Colors: Replace the default black modules with your brand color. Keep the contrast ratio above 4:1 against the background. Dark modules on a light background is the safest combination. Avoid low-contrast combinations like light gray on white
  • Logo: Place your app icon or company logo in the center of the code. Use error correction Level H to compensate. Keep the logo under 20% of the total code area
  • Rounded modules: Replace square modules with rounded dots for a softer look. This is purely aesthetic and does not affect scanning
  • Frame and label: Add a rectangular frame around the code with a call-to-action label below it

Call-to-Action Labels

A QR code without context is a QR code that doesn’t get scanned. Always pair your code with a short, action-oriented label:

Effective labels:

  • “Scan to order”
  • “Scan to pay”
  • “Scan to check in”
  • “Scan for menu”
  • “Scan to book”
  • “Try the app instantly”
  • “No download needed - just scan”

Weak labels:

  • “Scan me” (what happens?)
  • “QR Code” (obvious, no value proposition)
  • “Download our app” (misleading - App Clips don’t require a download)
  • No label at all (users need a reason to scan)

The label should describe the outcome, not the action. “Scan to order” tells the user what they get. “Scan this QR code” tells them what they already know.

Design Templates

Create a reusable design template system for your QR codes:

  • Standard template: Brand colors, logo, generic CTA (“Scan to get started”)
  • Location template: Standard design plus location name and context-specific CTA
  • Campaign template: Standard design plus promotional messaging and expiry date
  • Partner template: Co-branded design with partner logo alongside yours

Templates ensure consistency across hundreds of code placements while allowing customization for specific contexts.

Step 5: Plan Physical Placements

Placement strategy is what separates QR codes that get scanned from QR codes that get ignored. The three factors that drive scan rates are intent, visibility, and dwell time.

Intent

Place codes where the user already wants what your App Clip offers. A parking payment QR code at a parking meter has high intent because the user needs to pay right now. The same QR code on a park bench has near-zero intent because nobody is thinking about parking payments while sitting in a park.

Map your placements to moments of need:

User needMomentPlacement
Order foodSeated at tableTable tent, menu first page
Pay for parkingArriving at spotMeter, entry ticket
Check into eventArriving at venueEntrance signage, near registration desk
Get product infoBrowsing in storeShelf edge, product display card
Book a classDeciding what to doSchedule board, studio entrance
Rent a vehicleStanding next to vehicleHandlebar tag, windshield sticker

Visibility

The code must be in the user’s natural line of sight during the moment of need:

  • Eye level: Codes on walls should be at 140-160 cm height (average eye level while standing)
  • Table level: Codes on tables should face upward or be angled toward the seated user
  • Point of interaction: Place codes on or immediately adjacent to the object the user is interacting with (the meter, the menu, the product)
  • Avoid clutter: If a surface has multiple signs, posters, and stickers, your QR code will get lost. Find a clean, uncluttered spot or create a dedicated display

Dwell Time

Users need a few seconds to notice the code, understand the CTA, pull out their phone, and scan. Place codes where users naturally spend time:

  • High dwell time: Waiting in line, seated at a table, browsing a display, waiting for an elevator
  • Low dwell time: Walking past a storefront, driving past a sign, rushing through a corridor

For low-dwell-time locations, increase the code size and use a very short, compelling CTA. For high-dwell-time locations, you can include more context and a longer explanation of what the App Clip does.

Indoor vs Outdoor Considerations

Indoor placements:

  • Use standard matte print materials
  • Error correction Level M or Q is sufficient
  • Standard sizing based on scanning distance
  • Control lighting conditions with spotlights or backlit displays if needed

Outdoor placements:

  • Use UV-resistant, waterproof materials (laminated prints, vinyl stickers, metal plates)
  • Error correction Level H is recommended
  • Increase size by 20-30% compared to indoor equivalents (sunlight glare reduces scan reliability)
  • Test scanning in direct sunlight - glossy surfaces cause reflections that block the camera
  • Replace codes on a scheduled basis as weather damage accumulates

Step 6: Implement QR Codes in Digital Channels

QR codes are not limited to physical placements. They work in any visual medium where an iOS user might see and scan them.

Email Campaigns

Embed QR codes in HTML emails as inline images:

  • Use PNG format at 200x200 pixels minimum for email
  • Place the code near the top of the email where it is visible without scrolling
  • Add alt text: “Scan this QR code on your iPhone to try [feature] instantly”
  • Include a tappable URL link below the code for users reading on their phone (they can’t scan a code displayed on the same screen they’re holding)

Social Media

Share QR code images in posts and stories:

  • Instagram Stories: Full-screen QR code with branded background and CTA text overlay
  • Twitter/X: QR code image in a tweet with a description of what happens when scanned
  • LinkedIn: QR code in a company update targeting professional audiences
  • TikTok/Reels: Flash the QR code at the end of a demo video showing the App Clip in action

For social media, always include the direct URL in the post caption as well. Users browsing on their phone can tap the link directly; users seeing the post on a larger screen can scan the code with their phone.

QR codes in magazine ads, newspaper inserts, and flyers:

  • Size the code appropriately for the print format (minimum 3 cm for magazine, 5 cm for newspaper)
  • Place the code in the lower-right quadrant of the ad (natural eye scanning pattern ends there)
  • Include the CTA label integrated into the ad design, not as an afterthought
  • Test scanning from the actual printed material before approving the final print run

Product Packaging

QR codes on product packaging create a direct bridge between a physical purchase and a digital experience:

  • Unboxing guides that launch as an App Clip
  • Product registration and warranty activation
  • Reorder and subscription management
  • Complementary content (recipes for food products, workout routines for fitness equipment)

Place the code where users naturally look when unpacking: the inner lid, the top of the insert card, or the back panel near the barcode.

Step 7: Set Up Scan Tracking and Analytics

Every QR code scan should be a data point. Without tracking, you cannot tell which placements work, which waste money, and where to invest next.

Parsing Attribution Data

When your App Clip launches, extract the URL parameters and send them to your analytics service:

func scene(_ scene: UIScene, continue userActivity: NSUserActivity) {
    guard let url = userActivity.webpageURL else { return }
    let components = URLComponents(url: url, resolvingAgainstBaseURL: false)
    let params = components?.queryItems?.reduce(into: [String: String]()) {
        $0[$1.name] = $1.value
    } ?? [:]

    // Log the scan event
    Analytics.log(event: "app_clip_invocation", properties: [
        "source": params["source"] ?? "unknown",
        "location": params["location"] ?? "unknown",
        "campaign": params["campaign"] ?? "none",
        "partner": params["partner"] ?? "none",
        "variant": params["variant"] ?? "default",
        "url_path": url.path
    ])

    // Route to the correct screen
    routeToFeature(from: url)
}

Building a Tracking Dashboard

Create a dashboard that answers these questions at a glance:

  • Volume: How many total scans per day/week/month? Trending up or down?
  • By source: Which channel drives the most scans? (QR vs NFC vs web vs email)
  • By location: Which physical placements get the most scans?
  • By campaign: Which marketing campaigns drive the most engagement?
  • Conversion funnel: Scan > App Clip open > Core action completed > Full app installed
  • Revenue attribution: Revenue generated per QR code placement (if applicable)

Connecting to ASO Metrics

Use ASODOG to correlate QR code campaign activity with store-level performance:

  • Do periods of high QR code scan volume correspond with improved keyword rankings?
  • Does App Clip engagement from QR codes lift your conversion rate on the App Store listing?
  • Are users acquired through QR code scans more likely to leave positive ratings?
  • How does download velocity change when you add QR codes at new locations?

This correlation data helps you quantify the ASO value of your QR code strategy and justify continued investment in physical placements.

Step 8: Iterate Using Performance Data

QR code strategy is not a set-and-forget operation. The placements, designs, and URLs that perform best will surprise you. Let data guide your decisions.

Weekly Review Process

During the first month after deployment, review performance weekly:

  1. Rank placements by scan volume. Identify the top 20% and bottom 20%.
  2. Check conversion rates per placement. High scans but low conversion may mean the wrong screen loads or the CTA sets incorrect expectations.
  3. Compare A/B variants. If you tested different code designs or CTA labels, identify the winner and roll it out.
  4. Audit failed scans. If your analytics show URL hits that don’t match valid App Clip routes, investigate whether codes are misencoded or URLs have changed.

Common Optimizations

Low scan rate at a good location:

  • Increase code size
  • Improve CTA label (make the value proposition clearer)
  • Reposition the code (higher, more visible, less cluttered surroundings)
  • Add lighting (a small spotlight on the code in dim environments)

High scan rate but low App Clip completion:

  • The first screen may not match user expectations. Align it with the CTA label
  • Load time may be too slow. Profile and optimize (reduce binary size, defer non-critical assets)
  • The experience may require too many steps before delivering value. Simplify the flow

High App Clip completion but low full app install:

  • The install prompt may appear too early (before value is demonstrated) or too late (after the user has left)
  • The value proposition for the full app may be unclear. Show what additional features the full app offers
  • Test different install prompt timing and messaging

Scaling What Works

Once you identify high-performing placement types:

  • Replicate the pattern. If table tent QR codes at restaurants convert well, roll them out to every partner restaurant
  • Negotiate volume placements. Use performance data to convince venue partners to give you more prominent or more numerous placements
  • Create location-specific landing experiences. Use the location parameter to customize the App Clip’s first screen for each venue, showing relevant branding, menus, or pricing

Retiring What Doesn’t

Don’t leave underperforming codes in the field indefinitely:

  • Remove codes from locations with consistently near-zero scans after 4 weeks
  • Replace damaged or faded outdoor codes on a monthly schedule
  • Decommission campaign-specific codes after the campaign ends to avoid confusing users with expired promotions
  • Redirect decommissioned URLs to a generic App Clip experience rather than showing an error