지금 읽는 곳어트리뷰션 링크의 파라미터 구조부터 이해해야 한다목차
STEP 2 중급·실무 › 2-4. 데이터 분석·퍼포먼스 테크 › 과목 84 › 레슨 03
앱 어트리뷰션 링크(Attribution Link) 생성 실무: 미디어 소스, 캠페인, 광고그룹 파라미터를 조합한 원링크(OneLink)/스마트링크 트래킹
링크 하나에 담기는 파라미터 구조를 모르면, 캠페인별 성과가 뭉뚱그려져 보고서에서 아무것도 구분할 수 없습니다.
핵심요약
- 어트리뷰션 링크는 pid(매체)·c(캠페인)·af_adset(광고그룹)·af_ad(소재) 등 파라미터 조합으로 세분화된다
- pid(미디어 소스)는 필수 파라미터이며, 연동 파트너는 고유 pid를, 광고주 직접 링크는 임의 값을 쓸 수 있다
- 원링크(OneLink)는 iOS·안드로이드·미설치 상태를 하나의 URL로 처리해 딥링크와 디퍼드 딥링크를 함께 지원한다
- deep_link_value·deep_link_sub1~10 파라미터로 클릭 시점의 맥락(상품 ID, 프로모션 코드 등)을 앱 내부까지 전달할 수 있다
- 링크 설계는 마케터 혼자 끝나지 않고, 앱 내부 라우팅을 처리하는 개발팀과의 협업이 반드시 필요하다
어트리뷰션 링크의 파라미터 구조부터 이해해야 한다
AppsFlyer 어트리뷰션 링크는 여러 파라미터를 쿼리스트링으로 조합해 만듭니다. 그중 pid(미디어 소스)는 필수 파라미터로, AppsFlyer가 매체별로 부여한 고유 식별자입니다. 정식으로 연동된 광고 네트워크는 각자 고유한 pid 값(대개 _int 접미사가 붙는 형태)을 갖고, 광고주가 직접 만드는 링크(이메일, 오프라인 QR코드 등)에서는 정식 연동 매체가 아닌 한 원하는 값을 pid로 자유롭게 지정할 수 있습니다.
캠페인명은 c 파라미터, 광고그룹은 af_adset, 광고 소재는 af_ad 파라미터로 담습니다. 예를 들어 https://app.appsflyer.com/com.greatapp?pid=networkx_int&c=winter&af_adset=coats&af_ad=cashmere 같은 링크는 매체(networkx)·캠페인(winter)·광고그룹(coats)·소재(cashmere) 네 단계로 성과를 쪼개 볼 수 있게 해줍니다. 이 파라미터들을 얼마나 세분화해서 채우느냐가 이후 리포트에서 "어느 소재가 잘 됐는지"까지 확인할 수 있는지 없는지를 가릅니다.
원링크(OneLink)가 해결하는 문제는 무엇인가
전통적인 딥링크는 앱이 이미 설치된 사용자에게만 작동합니다. 앱이 없는 사용자가 그 링크를 클릭하면 오류가 나거나 그냥 웹페이지로 떨어지는 문제가 생깁니다. 원링크는 하나의 URL로 iOS·안드로이드·미설치 상태를 모두 판별해, 앱이 설치돼 있으면 앱 내 특정 화면으로, 설치돼 있지 않으면 해당 OS의 스토어로 안내한 뒤 설치 후 원래 의도했던 화면까지 자동으로 연결(디퍼드 딥링크)해주는 구조입니다.
이 자동 분기가 가능한 이유는 원링크가 클릭 시점의 기기 환경(OS, 브라우저)을 판별해 적절한 경로로 리다이렉트하고, 동시에 클릭 정보를 AppsFlyer 서버에 저장해두기 때문입니다. 사용자가 스토어를 거쳐 앱을 설치하고 처음 실행하면, SDK가 이 저장된 클릭 정보와 새 설치를 매칭해 원래 의도했던 화면(예: 특정 상품 상세페이지)으로 자동 이동시킵니다.
deep_link_value는 실무에서 어떻게 쓰이나
원링크에는 deep_link_value, deep_link_sub1부터 sub10까지의 파라미터를 추가로 실을 수 있습니다. 이 값들은 딥링킹·디퍼드 딥링킹 상황 모두에서 개인화된 경험을 제공하는 데 쓰입니다. 예를 들어 이메일 마케팅에서 특정 상품을 추천하는 링크를 만들 때, deep_link_value에 상품 ID를 담아두면 사용자가 앱이 없는 상태에서 그 링크를 클릭해 설치를 마쳐도, 앱이 처음 실행되는 순간 그 상품 상세페이지로 바로 이동시킬 수 있습니다.
AppsFlyer의 통합 딥링킹(Unified Deep Linking, UDL) 방식에서는 신규 사용자(디퍼드 딥링크 대상)에게 deep_link_value와 deep_link_sub1~10 파라미터만 반환되며, 앱 코드는 DeepLink 객체의 공개 변수(예: DeepLink.deeplinkValue)로 이 값을 꺼내 처리합니다. 기존 사용자와 신규 사용자가 받는 파라미터 구조가 다르기 때문에, 앱 라우팅 로직에서 이 두 케이스를 구분해 처리하도록 개발이 돼 있어야 합니다.
UTM 파라미터는 원링크와 어떻게 연결되나
유입 링크에 utm_source·utm_campaign 값이 붙어 있으면, 원링크 스마트 스크립트(OneLink Smart Script)를 통해 이 값이 자동으로 매체(pid)·캠페인(c) 파라미터로 변환돼 아웃고잉 원링크 URL에 매핑됩니다. 이 기능을 활용하면 이미 UTM 체계로 운영 중인 웹 마케팅 링크를 앱 어트리뷰션 파라미터로 별도 수작업 없이 자동 전환할 수 있어, 웹·앱 통합 캠페인을 운영할 때 관리 부담을 크게 줄여줍니다.
링크 설계가 마케터 혼자만의 일이 아닌 이유
원링크·딥링크 설정은 마케터가 캠페인을 기획하고 파라미터를 실어 링크를 만드는 작업과, 개발팀이 앱 내부에서 그 파라미터를 받아 실제 화면으로 라우팅하는 작업이 함께 맞아떨어져야 완성됩니다. 마케터가 아무리 정교하게 deep_link_value를 설계해도, 앱 코드가 그 값을 읽어 해당 화면으로 이동시키는 로직을 구현하지 않았다면 사용자는 그냥 앱 홈 화면에 도착하고 맙니다.
따라서 새로운 캠페인에서 딥링크 화면을 바꾸거나 새로운 파라미터를 추가하려면, 링크를 만들기 전에 반드시 개발팀과 "이 파라미터가 앱의 어느 화면으로 연결돼야 하는지"를 먼저 합의하고, 실제 기기에서 삭제-재설치 테스트를 거쳐 의도한 화면에 정확히 도달하는지 검증하는 절차가 필요합니다.