Branch Methodology 개요

Overview

There are several mechanisms Branch makes available for customers to pass data through to the app and attribute app sessions back to the source (where customers determine that such use is consistent with applicable law and relevant platform policies). We always use the method with the highest confidence rate. When we are 100% confident, the deep link data will contain the variable +match_guaranteed=true.

❗️

민감한 이용 사례 (Use Case)

When implementing data-sensitive use cases (ie auto-login, PNR visualization), the mobile app logic should parse the flag +match_guaranteed from the SDK initialization callback and deep link users only when its value is true

Post-iOS 14, +match_guaranteed will usually be false on install events, unless users opt-in to IDFA collection.

100% 정확도를 가진 방법

다이렉트 딥링킹

If the app is currently installed on the phone, and you've configured your Branch links with your app's URI scheme (myapp://) or to use Universal or App Links, we will open the app immediately and pass a click identifier through to our native library. This click identifier is then sent to the Branch servers to retrieve the dictionary of data associated with the link.

For example, we'd call myapp://open?link_click_id=123456 to open the app immediately. The Branch native library parses out link_click_id: 123456 and passes it back to the Branch API to retrieve the data dictionary associated with that link click.

Deferred Deep Linking using iOS NativeLink™

With the introduction of iOS 15 & iCloud+ Private Relay, Branch released deferred deep linking via the iOS pasteboard. By enabling NativeLink™, you will be able to guarantee deferred deep linking to work with 100% accuracy (+match_guaranteed=true). Users will be presented with a Deepview that enables users to continue their user experience in an app by clicking on the main CTA.

15301530

To implement iOS NativeLink™, follow the instructions in our developer documentation.

Install Referrers

An Install Referrer is a mechanism to support deterministic matching/attribution on Android devices downloading apps in specific app stores.

👍

Branch Android SDK

In order to have support for Install Referrers, make sure your Branch Android SDK is updated to the latest version and is implementing the required dependencies.

How do Install Referrers work?

44044404
  1. Advertiser integrates with App Stores (Google Play, Huawei, Samsung, & Xiaomi) and releases the app.
  2. Advertiser delivers an app download ad with an install referrer on the specific App Store.
  3. Publisher app requests and displays the ad.
  4. User clicks the ad in the app and can choose to download and install the advertiser's app.
  5. The App Store writes the install referrer to an API
  6. The Branch SDK initializes and collects the referrer from the App Store via API
  7. The app install event is reported in Branch's attribution system.

Supported Install Referrers

Install Referrer

Compatibility

Google Play Store

  • Google Play App v8.3.73+

Huawei AppGallery

  • EMUI v3.0+
  • HMS Core v2.6.5+

Samsung Galaxy Store

  • Galaxy Store v4.5.20.1+

Xiaomi GetApps

  • GetApps v22.6.0.0+

Branch 플랫폼 전반의 디바이스 ID

유저들이 Branch SDK가 연동된 앱 및 웹 사이트에 참여함에 따라, Branch 링크 클릭 시 수집되는 브라우저 쿠키와 유저와 앱의 인게이지먼트에 따라 수집된 디바이스 식별자 간의 연결을 생성하는 Branch의 어트리뷰션 엔진 알고리즘이 개선됩니다.

유저가 Branch SDK를 사용하는 앱을 열기 위해 Branch 링크를 클릭 할 때, 이전에 Branch 플랫폼에서 해당 유저가 Branch 링크를 클릭했다는 것을 알 수 있으며, 이미 이들의 Branch 브라우저 쿠키가 유저의 디바이스 ID에 페어링된 경우 해당 유저를 확실하게 어트리뷰션할 수 있습니다. 이는 유저가 앱을 설치할 때, 그리고 디바이스 ID를 사용할 수 있는 경우, 이들이 해당 디바이스의 브라우저에서 Branch 링크를 클릭한 동일한 유저라고 100% 확신할 수 있습니다.

Branch를 사용하는 앱 내의 수억 명의 유저가 Branch 링크를 클릭하면서, 그리고 Branch 플랫폼이 계속해서 더 많은 브라우저-앱 연결을 생성함에 따라, 엔드 유저를 브라우저에서 앱으로 연결할 때마다 최적화되는 어트리뷰션 엔진을 통해 어트리뷰션 정확도가 향상됩니다..

다른 기술 활용

딥링킹(Deep Linking)이 정확한지 확인하기 위해 각 플랫폼에 특정한 커스텀 딥링킹(Deep Linking) 메커니즘을 구축했습니다. 다음은 Branch가 사용하는 몇 가지 기술입니다.

Method구현 세부 정보
맞춤형 유저 로그인Branch's mobile & web SDKs allow developers to assign their own custom user IDs to web & app events, which we can then use as an additional data point to attribute events back to the same user. Branch takes great care to educate all developers to never use personal identifiers in these fields, but when available, these allow us to augment our methodology with anonymous data specific to the app using them.
플랫폼 연동Branch has direct integrations with Apple, Facebook, Google, Twitter, and Snap, where the platforms will directly confirm if a specific user engaged with an ad on their platform. Branch is then able to compare these touch points against all other user interactions sourced by Branch links, to enable a greater level of attribution accuracy across organic & paid platforms.
SKAdNetworkBranch는 캠페인 레벨 어트리뷰션을 위해 Apple의 SKAdNetwork 프레임워크를 지원합니다. 이를 통해 유저 레벨의 인사이트를 표시할 수는 없지만 모든 앱 스토어 설치는 Apple의 캠페인 레벨에서 확인되기 때문에 이 수치는 100% 확실하게 보장됩니다.

100% 정확하지 않은 방법

Predictive Modeling engine across the Branch Platform

유저가 Branch 링크를 클릭하여 Branch SDK를 사용하는 앱을 열면, 먼저 Branch의 어트리뷰션 엔진이 결정론적으로 유저를 어트리뷰션하기 위해 이들의 Branch 브라우저 쿠키를 디바이스 ID에 페어링할 수 있습니다. 그러나 디바이스 ID가 사용 불가능한 경우에도 해당 브라우저 쿠키를 IP 주소 & 유저 에이전트와 같은 다른 연관된 디바이스 메타데이터에 페어링하여 유저를 확률적으로 어트리뷰션할 수 있습니다.

Branch를 사용하는 수억 명의 앱 유저가 Branch 링크를 클릭하고 있으며, 우리는 이러한 연결을 사용하여 앱 동작을 브라우저 터치에 다시 연결할 때 더 높은 어트리뷰션 정확도를 제공할 수있는 예측 모델링 엔진을 강화할 수 있습니다.

브라우저와 앱 스냅샷 비교

Branch collects limited device-level information when a user is in the browser -- via a click on a Branch link -- and then after they open the app. This includes IP Address (including v6), OS, OS version, device model, user agent and other parameters described in our Privacy Policy.

다른 메커니즘을 사용할 수 없는 경우 앱에서 수집된 고유 데이터를 브라우저에서 수집된 고유 데이터와 비교하고 특정 시간 내에 충분한 데이터 포인트가 일치되면 동일한 유저일 가능성이 높습니다.

기준 맞춤 설정

동일한 익명 메타데이터를 보유하는 서로 다른 유저가 혼동될 것을 우려하는 경우, 두 개의 동일한 메타데이터 집합에 대해 Branch가 어트리뷰션을 하지 않도록 선택할 수 있습니다.

On the Dashboard's Link Settings page, under advanced options, you should set Match Type to Unique.

imageimage

You can also modify the attribution windows for any integration by following these instructions in the dashboard. Attribution windows essentially define your acceptable timeframes for how long any downstream conversions can be attributed back to a corresponding link click or ad impression.

24302430

Web SDK

The Branch Web SDK is used for web-to-app use cases and attribution for conversions that happen on mobile web.

Note: Be sure to implement the Web SDK on multiple pages (homepage, product detail pages, etc.) to ensure proper user experience and measurement.

작동 방식

When a user lands on a page with the Branch Web SDK initialized, the SDK makes a request to specific Branch endpoints (v1/open and v1/pageview). A cookie is stored in local storage with data that will be used to initialize a Journeys banner (if applicable). Full details on what is captured is outlined in Branch's Privacy Policy.

Additionally, the Web SDK can utilize the same deterministic matching technique of custom user login for matching.

Click to Event Matching

Using Branch's Predictive Modeling (PREM), the Web SDK can create a match between a link click and an event that happens on web. On link click, PREM observes characteristics like IP, User Agent, etc., in order to best match the click to the web session that contains the Branch Web SDK-captured characteristics like IP. Subsequent events tracked by the user on web will also be tied to what PREM is able to probabilistically match.

ITP Impact

Branch's Web SDK does use localstorage and sessionstorage to store some data that are important to how we do attribution for Safari users. If this data gets wiped on a particular user’s Safari browser Branch maybe be forced to create a new browser ID for that user, resulting in fragmentation. The impact of ITP is minimal because the Branch Link Graph is based on first-party interactions with deep links, and is able to reconnect these identity fragments in a privacy-friendly way as ITP creates them. Even with the most recent update, which blocks all third-party cookies and puts a 7-day cap on all script-writable storage, the impact is minimal.


What’s Next