Developing a Mobile AR App for Marketing
Our AR app development for mobile AR applications in AR marketing leverages image tracking, face filters, ARKit, ARCore, WebAR, and 8th Wall for high AR engagement with progressive loading.
Imagine a brand launching a limited-edition sneaker collection. The user scans a QR code on the box. The camera opens. A 3D sneaker appears above the box—spinning, glowing, with sparks flying around. Sharing to Instagram Stories drives virality and brand awareness. We’ve implemented such cases for 15+ brands. Success depends on technical details. If the model loads longer than 3 seconds or tracking breaks, the user closes the app forever.
That’s why we spend 30% of our time tuning reference images: we adjust contrast, convert to grayscale, and test tracking under different lighting conditions. Only then do we start developing the immersive scene. In this article, we’ll break down key technical solutions for marketing AR—from image tracking to face filters and WebAR.
How Image Tracking Turns Packaging into an AR Anchor
Most marketing AR cases rely on image tracking: packaging, print ads, billboards, or business cards are recognized as anchors. Content plays over them. On iOS, we use ARImageTrackingConfiguration with ARReferenceImage. The reference image can be loaded from an asset catalog or dynamically from a server. On Android, we use AugmentedImageDatabase from ARCore.
Critical parameters for a reference image:
- Minimum physical width: 15 cm (smaller means tracking unstable).
- High contrast, unique texture: a logo on a white background is bad; a bright pattern with details is good.
- ARKit requires specifying
physicalWidthin meters when registering, otherwise the content scale will be wrong.
ARKit recommends using ARImageTrackingConfiguration only with high-contrast images. Native apps process tracking 3 times faster than WebAR for complex scenes (based on our tests).
Quick Start Steps for AR Campaign
- Define your anchor media (packaging, print ad, billboard, etc.)
- Create or adapt 3D assets (USDZ/glTF, ≤5 MB)
- Choose native app or WebAR based on performance needs
- Test image tracking under various lighting conditions
- Deploy and analyze via Firebase Analytics
Comparison: WebAR vs. Native App
| Parameter | WebAR (8th Wall, Niantic) | Native App |
|---|---|---|
| Installation | Not required, opens in browser via QR | Requires download from App Store / Google Play |
| Performance | Limited by browser, no LiDAR | Full GPU access, LiDAR, high FPS |
| Face Filters | Basic via JavaScript | Full ARFaceAnchor with 52 blend shapes |
| Load Time | Depends on network, 2–5 seconds | Instant after install |
| Physics Complexity | Limited | PhysX, RealityKit, custom physics |
Why Face Filters Require Deep Integration
For branded masks (Snapchat-style), on iOS we use ARFaceTrackingConfiguration. It works only on TrueDepth camera (iPhone X and newer). ARFaceAnchor returns 52 blend shape coefficients (browDown, eyeBlink, mouthSmile, etc.). This allows the mask to respond to smiles, blinks, raised eyebrows—not just a texture but an animated character.
On Android, the counterpart is ML Kit Face Mesh (478 points). Without a depth camera, the binding is less accurate. For production face filters on both platforms, we often use Spark AR (Meta) or Lens Studio (Snapchat) when publishing through their platforms. Alternatively, we use ARCore + custom renderer for standalone apps.
Face Filter SDK Comparison
| SDK | Platform | Blend Shapes | Performance | License |
|---|---|---|---|---|
| ARKit | iOS | 52 | High | Free |
| ML Kit | Android | 478 points | Medium | Free |
| Spark AR | iOS/Android | 72+ | High | Free (publish on FB) |
| Lens Studio | iOS/Android | 100+ | High | Free (Snapchat) |
How We Optimize AR Scene Performance
Marketing AR is an impulsive context. Users have 3 seconds of patience. Therefore:
- USDZ/glTF models ≤ 5 MB for first display, remainder loaded as needed.
- Progressive loading: first a low-poly placeholder, then the full model.
- Background preloading when the app opens using
URLSessionwith.backgroundconfiguration. - Animations via
.realityfiles (Reality Composer) or USDZ animation tracks—not separate JSON with keyframes.
More on progressive loading
On the first scene open, the user sees a low-poly version of the model (up to 2 MB). The full high-poly model loads in parallel and smoothly replaces the placeholder. This reduces wait time to 0.5–1.5 seconds even on slow connections. For synchronization, we use `AssetLoadingManager` with priorities.AR interaction analytics via Firebase Analytics: ar_session_started, ar_target_detected, ar_content_shared. Marketers need conversion data from AR to sharing, average time in AR, and repeat launches.
What Metrics Guarantee AR Campaign Success?
According to a 2023 study by eMarketer, campaigns with an AR element show 2.5x higher engagement compared to regular ads. AR-to-sharing conversion averages 15% (Firebase data). Payback period: 1 to 3 months with 200% ROI. For a typical $25,000 campaign, that means $50,000 in return.
What Our Work Includes
- Deliverables: Source code (Swift/Kotlin), integration documentation, analytics dashboard access (Firebase), 30-day post-launch support, training for your marketing team.
- Investment: From $12,000 for simple image tracking to $50,000 for full app with multiple scenes. Typical budgets range from $10,000 to $80,000.
- Timelines: Simple image tracking with 3D animation: 3–5 weeks. Face filter with branded mask: 4–6 weeks. Full application with multiple scenarios: 8–14 weeks.
We’ve worked with AR since the first commercial SDKs. We completed 15+ projects for B2B clients. Reach out to discuss your task.







