Integration of AR Advertising Formats in Mobile Apps
AR advertising is 3-5 times better than static banners for user engagement when implemented correctly. Problem: load time of AR content on older devices kills conversion. We integrate such formats turnkey: from choosing the stack to publishing in App Store and Google Play. Below is the technical implementation of three main formats and optimization techniques to prevent lag.
Why AR advertising outperforms static banners?
Place-in-room AR gives 3x more engagement time (average 12 seconds) than face tracking (average 4 seconds) based on our data from 30 projects. Meanwhile, 70% of users who interact with an AR object for more than 5 seconds reach the CTA. This is 2x higher than regular video banners. Refer to Apple's ARKit documentation for details on plane detection algorithms.
Three main formats and their implementation
Place-in-Room: AR object in user's interior
The user points the camera at the floor or table — sneakers, a sofa, a TV appear in the room. The most common format for e-commerce.
Stack: ARKit + RealityKit or SceneKit. Models in USDZ (iOS) or GLB (Android + Sceneform / model-viewer). Integration with ad SDKs:
- Meta Audience Network supports AR ad units via Spark AR platform — ready effects are embedded via WebAR or through SDK
- Google AR Ads via Google Web Designer + model-viewer on WebAR
- Custom implementation via ARKit/ARCore without ad SDK — full control, but no built-in analytics
Handling occlusion and lighting estimation is crucial for realistic placement. We use spatial mapping to ensure objects sit on surfaces, and baked lighting for performance. To reduce initialization time, we show an animated overlay "Point at a flat surface" during plane detection, cutting time from 3-6 seconds to 2 seconds.
How does Face AR work?
Glasses, hats, makeup, masks. ARKit Face Tracking using ARFaceTrackingConfiguration:
let config = ARFaceTrackingConfiguration()
config.isLightEstimationEnabled = true
arView.session.run(config)
ARFaceAnchor provides 52 blend shape coefficients — facial expressions, blinking, mouth movement. Glasses are overlaid on ARFaceAnchor.transform, taking face geometry into account for correct fit on the nose bridge. Refer to Apple's ARKit Face Tracking documentation for more details.
Face tracking problem: it only works on devices with TrueDepth camera (iPhone X+). On non-TrueDepth devices, we use Vision Framework + face landmark detection — lower accuracy but broader reach.
Marker-based AR: activating ads through a physical object
Point the camera at product packaging or a printed banner — a 3D animation or video appears. ARImageTrackingConfiguration with ARReferenceImage:
let referenceImages = ARReferenceImage.referenceImages(inGroupNamed: "AdMarkers", bundle: nil)
config.trackingImages = referenceImages
config.maximumNumberOfTrackedImages = 3
The marker image must have high uniqueness (histogramContrastScore > 0.85 according to ARKit's internal metric). Packaging with large uniform areas (white boxes, minimalistic design) — perform poorly. Textured markers with good contrast are required.
Analytics of AR advertising
Standard ad analytics (impression, click) for AR are supplemented by specific metrics:
| Metric | Description |
|---|---|
| Engagement time | How many seconds the user kept the AR object on screen |
| Interaction rate | Share of users who rotated/resized the object |
| Session completion | Whether they reached the CTA ("Buy", "Learn more" button) |
Firebase Analytics + custom events — the standard approach. We send events ar_session_started, ar_object_placed, ar_interaction, ar_cta_tapped with parameters (ad_id, placement_id, duration).
How to optimize AR models for fast loading?
Size of AR resources is the bottleneck. A USDZ model for place-in-room should not exceed 10–15 MB. Optimization:
- Texture compression via
TextureConverter— up to 80% without quality loss. - LOD with 3 levels of detail: high (close), medium (3-6 m), low (farther than 6 m).
- Baked lighting instead of PBR realtime — saves 30% of render time.
- Fallback for weak devices: if
ARWorldTrackingConfiguration.isSupported= false — show a 2D/3D rotating object.
Additional techniques: normal maps for detail without high polygon count, texture atlas to reduce draw calls. For SLAM-based tracking, we fine-tune sensor fusion parameters to improve stability on devices with gyroscope drift.
How we implement AR advertising?
The process includes stages:
- Analysis of target devices and OS versions.
- Designing the AR scenario.
- Preparation of 3D models (optimization, LOD).
- Integration via ARKit/ARCore or ad SDKs.
- Setting up analytics (Firebase custom events).
- Testing on 10+ devices (iPhone 7, iPhone X, Samsung Galaxy S10, Pixel 4).
- Publishing in stores.
At each stage, we record loading and engagement metrics. Average time to display AR scene is 2.1 seconds on iPhone X.
What is included in the work
Deliverables
- Documentation: description of the AR scenario, analytics scheme, instructions for updating models
- Access to ad accounts (Meta, Google) or custom SDK
- Training of the client's team in working with AR content
- Technical support for 1 month after launch
Typical budget ranges from $3,000 for a simple face filter to $20,000 for a full AR SDK suite with analytics and custom models.
Timelines
| Format | Timeline |
|---|---|
| Place-in-room (iOS + Android) | 3–5 weeks |
| Face filter with branding | 2–4 weeks |
| Marker-based AR | 1–2 weeks |
| Full AR ad SDK with analytics | 8–12 weeks |
Cost is calculated individually. It is important to understand the target devices and required ad formats before starting. We guarantee compatibility with major iOS and Android versions, are certified for ARKit and ARCore, have 5 years of experience and 30+ completed projects. Request a consultation to choose the AR format for your tasks. Contact us — we will select the optimal stack and timelines.







