I need advise on how to better organize tracking via Amplitude.
We have 3 different space:
A) Public website with content B) Web app (Single page application with some onboarding form) C) IOS mobile app
Events coming from A are sometimes (usually) coming from anonymous users until they sign up or log in and then we identify them. When user login via B) web platform we create a user_id and he can fill in the onboarding form or see a screen with QR code or button to download the app.
Or user can sign in via app for a first time and we create user_id at that moment.
I want to implement JS SDK Web Attribution to track some activity on Web ( click button, view page) but most important store UTM parameters as user property and send it with all event user perform on mob app.
So the goal performs behavior user analysis in mobile app based on the source he came from (utm source, campaign and others).
The questions are:
1) Could I create two different projects Web and Mobile and share one user_id between these two projects?
2) When the user login via the existing user_id and we have some utm tag related to them from the website, send all these user properties with events.
3) or its better to keep one project (Web + Mobile)?
Now it is more interesting to keep track of mobile activity separately, and track MAU on Web (marketing) and Mobile MAU - core product.
Or maybe there are better way to track marketing source( utm tag) and link it to users.
Best answer by ttanView original
While it is possible to create two different projects where users share the same user_id, please keep in mind that data in each project is isolated from one another. This means that you won’t be able to perform cross-platform analysis if you send data to two different projects. Unless the Portfolio add-on is purchased, which is only available on the paid plan.
Both our JS SDK and the latest Typescript SDK supports capturing UTM parameters as user properties. The Typescript SDK is most robust, and it offers more attribution tracking options (see configurations here).
It really depends whether or not you want to perform cross-platform analysis. Having separate projects can be a cleaner experience if the Web and Mobile event taxonomy are very different, but data needs to be in a single project if you would like to understand how users use both mobile and web together.
Let's say I create one project for Web + Mob
The user opens the site with utm tag, visits a few pages and does not sign in ( no user_id)
then the same user downloads the app and sign in ( we create user_id)
Basically, it is the same user.
The user opens the site with utm tag, visits a few pages and signs in ( we create user_id)
then the same user downloads the app and signs in ( already has user_id)
How Amplitude will count new users in both scenarios?
What is the best way to have one project but be able separate mobile activity from website activity?
let's say I want to calculate the retention of my mobile users, what parameters I should pass to be able to filter Web or Mob app in my one project?
Amplitude will count this user as two individual users. If the user ends up logging in on the website and you assign a user_id, Amplitude will automatically merge the web and mobile profiles together.
Please review this doc for more details on how Amplitude tracks anonymous users and when we merge user profiles together.
Amplitude will merge these user profiles together and count them as a single new user. This will occur as long as the user is assigned a unique user_id that will never update.
If you are using our client-side SDKs, there will be a user property called “Platform” that will automatically be set to “Web” for web SDK events and “iOS” or “Android” for mobile SDK events. For server-side SDKs, please be sure to set a “Platform” user property.
Additionally, our customers typically use a third party attribution provider to send mobile attribution over. Here’s a doc with details on how Adjust, AppsFlyer, Branch, etc integrate with Amplitude.
What about mobile version of site?
How to split Mobile app and Mobile web site?
Thanks for this follow up question
@Julia. Were you able to make progress? I’ve looped in the team who can take a closer look.
Please review the configuration section of our Browser SDK. A value for `appVersion` will need to be set.
The Browser SDK will be used to track mobile web and desktop web. Platform will be set to `Web` by default. iOS and Android SDK will set platform to `iOS` or `Android`.
To distinguish mobile web vs. desktop web, you’ll need to set up a custom user property to track this.
Thanks for closing the loop