콘텐츠로 이동

에어브릿지 연동

에어브릿지(Airbridge)를 사용하면 유저가 어떤 광고 채널과 캠페인을 통해 앱 설치를 하였는지 유입 경로 분석이 가능합니다. 그리고 이러한 설치 유입 경로를 플레어레인에 연동함으로써, 유입 경로별 최적의 CRM 마케팅을 수행할 수 있습니다.

에어브릿지에서 제공하는 어트리뷰션 데이터는 다음과 같습니다. 본 가이드에서는 4개의 데이터를 연동하는 것을 서술합니다만, 데이터가 모두 수집된 상태라면 모두 연동하는 것 또한 가능합니다.

설명
attributedChannel채널
attributedCampaign캠페인
attributedAdGroup광고 그룹
attributedAdCreative광고 소재
attributedContent콘텐츠
attributedTerm키워드
attributedSubPublisher하위매체
attributedSubSubPublisher1하하위매체 1
attributedSubSubPublisher2하하위매체 2
attributedSubSubPublisher3하하위매체 3

에어브릿지 SDK를 통해 유입 경로(어트리뷰션) 데이터를 조회할 수 있으며, 그 데이터를 플레어레인의 태그로 연동합니다.

class MainApplication : Application() {
override fun onCreate() {
super.onCreate()
FlareLane.initWithContext(this, "PROJECT_ID", true)
val option = AirbridgeOptionBuilder("YOUR_APP_NAME", "YOUR_APP_SDK_TOKEN")
.setOnAttributionReceived(object : OnAttributionResultReceiveListener {
override fun onAttributionResultReceived(result: Map<String, String>) {
val tags = JSONObject()
result["attributedChannel"]?.let { tags.put("attributedChannel", it) }
result["attributedCampaign"]?.let { tags.put("attributedCampaign", it) }
result["attributedAdGroup"]?.let { tags.put("attributedAdGroup", it) }
result["attributedAdCreative"]?.let { tags.put("attributedAdCreative", it) }
if (tags.length() > 0) {
FlareLane.setTags(applicationContext, tags)
}
}
})
.build()
Airbridge.initializeSDK(this, option)
}
}
import FlareLane
import Airbridge
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
FlareLane.initWithLaunchOptions(launchOptions, projectId: "PROJECT_ID", requestPermissionOnLaunch: true)
let option = AirbridgeOptionBuilder(name: "YOUR_APP_NAME", token: "YOUR_APP_SDK_TOKEN")
.setOnAttributionReceived({ attribution in
var tags: [String: Any] = [:]
if let attributedChannel = attribution["attributedChannel"] {
tags["attributedChannel"] = attributedChannel
}
if let attributedCampaign = attribution["attributedCampaign"] {
tags["attributedCampaign"] = attributedCampaign
}
if let attributedAdGroup = attribution["attributedAdGroup"] {
tags["attributedAdGroup"] = attributedAdGroup
}
if let attributedAdCreative = attribution["attributedAdCreative"] {
tags["attributedAdCreative"] = attributedAdCreative
}
if !tags.isEmpty {
FlareLane.setTags(tags: tags)
}
})
.build()
Airbridge.initializeSDK(option: option)
return true
}
FlareLane.initialize('PROJECT_ID');
Airbridge.setOnAttributionReceived(attribution => {
const tags: {[key: string]: string} = {};
if (attribution.attributedChannel) {
tags.attributedChannel = attribution.attributedChannel;
}
if (attribution.attributedCampaign) {
tags.attributedCampaign = attribution.attributedCampaign;
}
if (attribution.attributedAdGroup) {
tags.attributedAdGroup = attribution.attributedAdGroup;
}
if (attribution.attributedAdCreative) {
tags.attributedAdCreative = attribution.attributedAdCreative;
}
if (Object.keys(tags).length > 0) {
FlareLane.setTags(tags);
}
});
FlareLane.shared.initialize("PROJECT_ID", requestPermissionOnLaunch: true);
Airbridge.setOnAttributionReceived((result) {
Map<String, String> tags = {};
if (result['attributedChannel'] != null) {
tags['attributedChannel'] = result['attributedChannel']!;
}
if (result['attributedCampaign'] != null) {
tags['attributedCampaign'] = result['attributedCampaign']!;
}
if (result['attributedAdGroup'] != null) {
tags['attributedAdGroup'] = result['attributedAdGroup']!;
}
if (result['attributedAdCreative'] != null) {
tags['attributedAdCreative'] = result['attributedAdCreative']!;
}
if (tags.isNotEmpty) {
FlareLane.shared.setTags(tags);
}
});

연동 이후 기기의 태그를 확인해보면 해당 기기의 앱 설치 유입 채널을 나타내는 태그의 연동 결과를 확인할 수 있습니다.

연동한 태그를 바탕으로 세그먼트 타겟팅이나 자동화 진입 조건으로 활용할 수 있으며, 연동된 값에 대한 정확한 의미는 에어브릿지 가이드를 참고 바랍니다.

플레어레인 기기 상세에서 Airbridge 앱 설치 유입 채널 태그가 연동된 화면