# User Sync

Zotlo allows seamless transitions between **web** and **mobile app** experiences. Whether a user moves from **web → app** or **app → web**, Zotlo ensures that identity, payments, and subscription states stay perfectly synced.

## **Web → App**&#x20;

### **What is Web→App**

Web→App is the flow where a user starts on your **web sales site** and continues the journey inside your **mobile app**.

This commonly occurs after onboarding funnels, quizzes, long-form landings, or pricing pages where the **"Open in App"** or **"Install App"** CTA is displayed after successful payment.

You can explore the Zotlo [Quiz Funnels](https://docs.zotlo.com/features/quiz-funnels/funnels-flows-overview).&#x20;

### **When To Use**

Use Web→App when you want to:

* Convert mobile web visitors into app users
* Personalize the user journey before app install (quizzes, funnels, offer pages)
* Explain value before pushing users into the app
* Show localized or segmented offers based on country or behavior
* Capture UTM & attribution information **before** users move into the app

Ideal for **Facebook Ads, Google Ads, TikTok Ads, Snapchat, DSP campaigns**.

### **User Sync**&#x20;

When a user later installs/opens the app, Zotlo syncs all related data back into the app.

#### **How syncing happens**

* **Webhooks** → subscription, payment, registration, quiz response events
* **API services** → subscription status, payment history, customer info
* **Custom parameters** → subscriberId, session ID, attribution IDs (AF ID, GAID, IDFA, Adjust ID), language, country

#### **What gets synced**

* Active subscription state
* Renewals & cancellations
* Payment successes & failures
* Registration data
* Quiz answers
* Web purchases matched to the correct app user

### **Ads & Analytics**

Zotlo can forward events to advertising and analytics platforms with **100% web tracking accuracy**, including:

* Meta Ads (Pixel + CAPI)
* Google Ads (Purchase Events)
* TikTok Ads
* Google Analytics
* Google Tag Manager

This ensures Web→App conversions are correctly attributed.

### 🔗 **Useful Documents**

→ [Subscription Status Webhook](https://docs.zotlo.com/integrating-zotlo/webhooks/subscription-status-webhooks)\
→ [Payments Webhook](https://docs.zotlo.com/integrating-zotlo/webhooks/payments-webhook)\
→ [Users Webhook](https://docs.zotlo.com/integrating-zotlo/webhooks/user-registration-webhook)\
→ [Quiz Responses Webhook](https://docs.zotlo.com/integrating-zotlo/webhooks/quiz-responses-webhook)\
→ [3rd-party Integrations](https://docs.zotlo.com/3rd-party-integrations)

## **App → Web**&#x20;

### **What is App→Web**

App→Web is the flow where the user starts inside a **mobile app** and is redirected to a **secure Zotlo web checkout** to complete the purchase.\
This flow is fully compliant with updated **App Store & Google Play rules**, where applicable.

### **When to use**

Use App→Web when you want to:

* Offer payment methods beyond IAP (Card, PayPal, Apple Pay, Google Pay)
* Reduce or avoid app store commissions
* Use a more flexible checkout
* Keep subscription logic fully external to the app
* Redirect users back to your app after payment

Great for global subscription apps or apps that want to legally bypass store fees.

{% hint style="info" %}
**Legal Status**

* **iOS:** Legal in US, EU, South Korea, Netherlands (only dating apps), Japan (only reader apps)
* **Android:** Legal in all UCB-supported markets
  {% endhint %}

### **User Sync**

When redirecting to web checkout, apps can pass the necessary identifiers so the checkout immediately recognizes the user.

#### **Identifiers to pass**

* `subscriberId`
* Language & country
* Custom parameters (AF ID, Adjust ID, internal user ID, session token, campaign data)

#### **How syncing happens**

* **Checkout Web SDK** → send subscriber + custom parameters
* **Personalized Checkout Link API** → generate user-specific URLs
* **Webhooks** → real-time updates after payments
* **API** → verify subscription status from the app

#### **What gets synced back**

* New subscription activations
* Renewals
* Cancellations & grace transitions
* Payment failures
* Entitlements & app-side access rights
* Attribution events

### **Deep Link & Attribution**

After a web payment, Zotlo can send the user back into your app using:

* **Universal Links / Deep Links**
* **Attribution parameters** (AppsFlyer, Adjust, Meta, Google Ads)
* **Custom session identifiers**

This ensures purchases made outside the app are still attributed and applied correctly.

Zotlo also pushes successful web purchases to attribution platforms:\
→ [AppsFlyer Integration](https://docs.zotlo.com/3rd-party-integrations/attribution/appsflyer)\
→ [Adjust Integration](https://docs.zotlo.com/3rd-party-integrations/attribution/adjust)

### 🔗 **Useful Documents**

→ [Checkout Web SDK](https://docs.zotlo.com/integrating-zotlo/web-sdk/checkout-sdk)\
→ [Personalized Checkout Link API](https://docs.zotlo.com/integrating-zotlo/api-reference/checkout-endpoints)\
→ [Full API Reference](https://docs.zotlo.com/integrating-zotlo/api-reference/introduction)\
→ [Webhooks Services](https://docs.zotlo.com/integrating-zotlo/webhooks/webhooks-overview)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.zotlo.com/integrating-zotlo/user-sync.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
