diff --git a/AcquisitionInfo/explainer.md b/AcquisitionInfo/explainer.md index 245b963b..dd81a41b 100644 --- a/AcquisitionInfo/explainer.md +++ b/AcquisitionInfo/explainer.md @@ -225,7 +225,7 @@ if ('install' in navigator) { installVersion: "1.0.0.0" }; // Web install with additional attribution information - const appInstalled = await navigator.install("foo.com", {"referral-info": referralInfo}); + const appInstalled = await navigator.install("https://www.foo.com/app", "https://www.foo.com/install_url", {"referral-info": referralInfo}); } ``` @@ -265,6 +265,34 @@ the acquisition information that is recorded for the originally acquired applica other installations. This applies to any and all other installation for the same user profile across any other device supported by the UA. +For example, a user may discover App A through an ad campaign run on the Microsoft Store. The user proceeds to install App A on +Device A. Running `getDetails()` from the newly acquired app would return the following: + +```js +details = { + installSource: "apps.microsoft.com", + attributionId: "adCampaign", + ... // Additional attribution information +} +``` + +The same user logs in on Device B and logs into the profile that installed App A on Device A. Sync would install App A once again +but on Device B, at which point the `getDetails()` payload would return the following: + +```js +details = { + installSource: "apps.microsoft.com", + attributionId: "adCampaign", + sync: true, + ... // Additional attribution information +} +``` + +The `installSource`, `attributionId`, and *any other attribution information* that existed on Device A is passed on. Addtionally, +a boolean property called `sync` is added to the dictionary which indicates that the app in question is a synced application +brought over from a previous device. This ensures that we are able to accurately track which users were historically impacted +by which acquisition campaigns, even across devices. + ## Considered Alternatives ### Flattening the API