유니버설 링크 및 앱 링크
이 문서에서는 Apple 유니버설 링크와 Android 앱 링크를 설정하는 방법을 설명합니다.

Apple 유니버설 링크와 Android 앱 링크는 웹 콘텐츠와 모바일 앱 간의 원활한 전환을 제공하기 위해 고안된 메커니즘입니다. 유니버설 링크는 iOS에 특화되어 있으며, Android 앱 링크는 Android 애플리케이션에서 동일한 목적을 수행합니다.
유니버설 링크와 App Links의 작동 방식
유니버설 링크(iOS)와 App Links(Android)는 웹 페이지와 앱 내 콘텐츠를 동시에 가리키는 표준 웹 링크(http://mydomain.com)입니다.
유니버설 링크 또는 App Link가 열리면, 운영 체제는 해당 도메인에 등록된 앱이 설치되어 있는지 확인합니다. 앱이 발견되면 웹 페이지를 로드하지 않고 즉시 앱이 실행됩니다. 앱이 발견되지 않으면 사용자의 기본 웹 브라우저에서 웹 URL이 로드되며, 이 경우 앱 스토어 또는 Google Play Store로 리디렉션되도록 설정할 수도 있습니다.
간단히 말해, 유니버설 링크를 사용하면 웹사이트가 웹 페이지를 특정 앱 화면과 연결할 수 있으므로, 사용자가 앱 화면에 해당하는 웹 페이지 링크를 클릭하면 앱이 직접 열릴 수 있습니다(앱이 현재 설치되어 있는 경우).

Firebase Dynamic Links는 지원이 중단되었습니다. Braze는 Firebase와 직접 통합을 지원하지 않으며, 딥링킹은 Braze 플랫폼 외부에서 관리됩니다. 플랫폼 기본 솔루션(이 문서에서 설명하는 Apple 유니버설 링크 및 Android App Links) 또는 대체 딥링킹 서비스 제공업체로 마이그레이션하세요. 마이그레이션 안내는 Firebase 마이그레이션 FAQ를 참조하세요.
다음 표는 유니버설 링크와 기존 딥링크 간의 주요 차이점을 정리한 것입니다:
| 유니버설 링크 및 App Links | 딥링크 | |
|---|---|---|
| 플랫폼 호환성 | iOS(버전 9 이상) 및 Android(버전 6.0 이상) | 다양한 모바일 OS에서 사용 |
| 목적 | iOS 및 Android 기기에서 웹과 앱 콘텐츠를 매끄럽게 연결 | 특정 앱 콘텐츠로 연결 |
| 기능 | 컨텍스트에 따라 웹 페이지 또는 앱 콘텐츠로 이동 | 특정 앱 화면을 열기 |
| 앱 설치 여부 | 앱이 설치되어 있으면 앱을 열고, 그렇지 않으면 웹 콘텐츠를 열기 | 앱이 설치되어 있어야 함 |
사용 사례
유니버설 링크와 앱 링크는 이메일 캠페인에 가장 많이 사용됩니다. 이메일은 데스크톱과 모바일 기기 모두에서 열고 클릭할 수 있기 때문입니다.
일부 채널은 이러한 링크와 잘 작동하지 않습니다. 예를 들어, 푸시 알림, 인앱 메시지, Content Cards는 스킴 기반 딥링크(mydomain://)를 사용해야 합니다.

Android 앱 링크는 해당 도메인의 링크를 다른 웹 URL과 별도로 처리하는 로직이 포함된 커스텀 IBrazeDeeplinkHandler가 필요합니다. 딥링크를 대신 사용하고 이메일 이외의 채널에 대해 링크 방식을 통일하는 것이 더 쉬울 수 있습니다.
전제 조건
유니버설 링크 및 앱 링크를 사용하려면 다음 조건을 충족해야 합니다.
- 웹사이트가 HTTPS를 통해 접근 가능해야 합니다
- 앱이 앱 스토어(iOS) 또는 Google Play 스토어(Android)에 등록되어 있어야 합니다
유니버설 링크 및 앱 링크 설정하기
앱에서 유니버설 링크 또는 앱 링크를 지원하려면 iOS와 Android 모두 링크 도메인에 특수 권한 파일을 호스팅해야 합니다. 이 파일에는 해당 도메인의 링크를 열 수 있는 앱에 대한 정의가 포함되어 있으며, iOS의 경우 해당 앱이 열 수 있는 경로도 정의됩니다.
- iOS: Apple 앱 사이트 연결(AASA) 파일
- Android: 디지털 에셋 링크 파일
이 권한 파일 외에도, 앱 내에서 설정되는 앱이 열 수 있는 링크 도메인에 대한 하드코딩된 정의가 있습니다.
- iOS: Xcode에서 “Associated Domains”로 설정
- Android: 앱의
AndroidManifest.xml파일에 정의
이 두 부분으로 구성된 도메인-앱 연결은 유니버설 링크 또는 앱 링크가 작동하는 데 필수적이며, 특정 도메인의 링크를 다른 앱이 가로채거나 특정 앱을 아무 도메인에서나 열 수 없도록 방지합니다.
이 단계는 Apple 개발자 설명서를 참고하여 작성되었습니다. 자세한 내용은 앱과 웹사이트가 콘텐츠에 링크되도록 허용하기를 참조하세요.
1단계: 앱 자격 구성하기

1a단계: 앱 등록하기
- developer.apple.com으로 이동하여 로그인합니다.
- Certificates, Identifiers & Profiles를 클릭합니다.
- Identifiers를 클릭합니다.
- 등록된 앱 식별자가 아직 없는 경우, +를 클릭하여 새로 생성합니다. a. Name을 입력합니다. 원하는 이름을 자유롭게 입력할 수 있습니다. b. Bundle ID를 입력합니다. Xcode 프로젝트의 적절한 빌드 대상에 대한 General 탭에서 번들 ID를 확인할 수 있습니다.
1b단계: 앱 식별자에서 Associated Domains 활성화하기
- 기존 또는 새로 생성한 앱 식별자에서 App Services 섹션을 찾습니다.
- Associated Domains를 선택합니다.
- Save를 클릭합니다.

1c단계: Xcode 프로젝트에서 Associated Domains 활성화하기
진행하기 전에 Xcode 프로젝트에서 앱 식별자를 등록한 곳과 동일한 팀이 선택되어 있는지 확인하세요.
- Xcode에서 프로젝트 파일의 Capabilities 탭으로 이동합니다.
- Associated Domains를 활성화합니다.
문제 해결 팁
“An App ID with Identifier ‘your-app-id’ is not available. Please enter a different string” 오류가 표시되면 다음을 수행하세요.
- 올바른 팀이 선택되어 있는지 확인합니다.
- Xcode 프로젝트의 번들 ID(1a단계)가 앱 식별자 등록 시 사용된 것과 일치하는지 확인합니다.
1d단계: 도메인 자격 추가하기
도메인 섹션에서 적절한 도메인 태그를 추가합니다. applinks: 접두사를 붙여야 합니다. 이 경우 applinks:yourdomain.com을 추가한 것을 확인할 수 있습니다.

1e단계: 자격 파일이 빌드에 포함되어 있는지 확인하기
프로젝트 브라우저에서 새 자격 파일이 Target Membership 아래에 선택되어 있는지 확인합니다.
Xcode가 이를 자동으로 처리합니다.
2단계: AASA 파일을 호스팅하도록 웹사이트 구성하기
웹사이트 도메인을 iOS의 네이티브 앱과 연결하려면 웹사이트에 Apple 앱 사이트 연결(AASA) 파일을 호스팅해야 합니다. 이 파일은 iOS에 도메인 소유권을 검증하는 안전한 방법으로 사용됩니다. iOS 9 이전에는 개발자가 어떤 검증도 없이 앱을 열기 위해 아무 URI 스킴이나 등록할 수 있었습니다. 그러나 AASA를 사용하면 이 프로세스가 훨씬 더 안전하고 신뢰할 수 있게 되었습니다.
AASA 파일에는 앱 목록과 유니버설 링크로 포함하거나 제외해야 하는 도메인의 URL 경로가 포함된 JSON 객체가 있습니다. 다음은 AASA 파일 샘플입니다.
{
"applinks": {
"apps": [],
"details": [
{
"appID": "JHGFJHHYX.com.facebook.ios",
"paths": [
"*"
]
}
]
}
}
appID: 앱의 Team ID(https://developer.apple.com/account/#/membership/에서 팀 ID를 확인할 수 있음)와 Bundle Identifier를 결합하여 만듭니다. 이 예시에서 “JHGFJHHYX”는 팀 ID이고, “com.facebook.ios”는 번들 ID입니다.paths: 연결에서 포함하거나 제외할 경로를 지정하는 문자열 배열입니다. 경로 앞에NOT을 사용하여 경로를 비활성화할 수 있습니다. 이 예시에서는 해당 경로의 모든 링크가 앱을 여는 대신 웹으로 이동합니다.*를 와일드카드로 사용하여 디렉토리의 모든 경로를 활성화하고,?를 사용하여 단일 문자를 매칭할 수 있습니다(예: /archives/201?/로 2010-2019의 모든 숫자를 매칭).

이 문자열은 대소문자를 구분하며 쿼리 문자열과 프래그먼트 식별자는 무시됩니다.
3단계: 도메인에 AASA 파일 호스팅하기
AASA 파일이 준비되면 https://<<yourdomain>>/apple-app-site-association 또는 https://<<yourdomain>>/.well-known/apple-app-site-association에 호스팅할 수 있습니다.
apple-app-site-association 파일을 HTTPS 웹 서버에 업로드합니다. 파일을 서버의 루트 또는 .well-known 하위 디렉토리에 배치할 수 있습니다. 파일 이름에 .json을 추가하지 마세요.

iOS는 보안 연결(HTTPS)을 통해서만 AASA 파일을 가져오려고 시도합니다.
AASA 파일을 호스팅할 때 파일이 다음 가이드라인을 준수하는지 확인하세요.
- HTTPS를 통해 제공됩니다.
application/jsonMIME 타입을 사용합니다.- 128KB를 초과하지 않습니다(iOS 9.3.1 이상 요구 사항).
4단계: 유니버설 링크를 처리하도록 앱 준비하기
사용자가 iOS 기기에서 유니버설 링크를 탭하면 기기가 앱을 실행하고 NSUserActivity 객체를 보냅니다. 그런 다음 앱은 NSUserActivity 객체를 쿼리하여 어떻게 실행되었는지 확인할 수 있습니다.
앱에서 유니버설 링크를 지원하려면 다음 단계를 수행하세요.
- 앱이 지원하는 도메인을 지정하는 자격을 추가합니다.
- NSUserActivity 객체를 수신할 때 적절하게 응답하도록 앱 델리게이트를 업데이트합니다.
Xcode에서 Capabilities 탭의 Associated Domains 섹션을 열고 앱이 지원하는 각 도메인에 대한 항목을 applinks: 접두사와 함께 추가합니다. 예를 들어 applinks:www.mywebsite.com과 같습니다.

Apple은 이 목록을 20~30개 도메인 이하로 제한할 것을 권장합니다.
5단계: 유니버설 링크 테스트하기
유니버설 링크를 이메일에 추가하고 테스트 기기로 보냅니다. Safari URL 필드에 유니버설 링크를 직접 붙여넣으면 앱이 자동으로 열리지 않습니다. 이 방법을 사용하면 웹사이트를 수동으로 아래로 당겨야 상단에 해당 앱을 열도록 안내하는 프롬프트가 나타납니다.
이 단계는 Android 개발자 설명서를 참고하여 작성되었습니다. 자세한 내용은 Android 앱 링크 추가 및 앱 콘텐츠에 딥링크 생성을 참조하세요.

Android 앱 링크에는 해당 도메인의 링크를 다른 웹 URL과 별도로 처리하는 로직이 포함된 커스텀 IBrazeDeeplinkHandler가 필요합니다. 대신 딥링크를 사용하고 이메일 이외의 채널에 대한 링크 연결 방식을 통일하는 것이 더 쉬울 수 있습니다.
1단계: 딥링크 생성하기
먼저 Android 앱에 대한 딥링크를 생성해야 합니다. AndroidManifest.xml 파일에 인텐트 필터를 추가하여 이를 수행할 수 있습니다. 인텐트 필터에는 VIEW 액션과 BROWSABLE 카테고리, 그리고 데이터 요소에 웹사이트의 URL이 포함되어야 합니다.
2단계: 앱과 웹사이트 연결하기
앱을 웹사이트와 연결해야 합니다. 디지털 에셋 링크 파일을 생성하여 이를 수행할 수 있습니다. 이 파일은 JSON 형식이어야 하며 웹사이트의 링크를 열 수 있는 Android 앱에 대한 세부 정보가 포함됩니다. 웹사이트의 .well-known 디렉토리에 배치해야 합니다.
3단계: 앱 매니페스트 파일 업데이트하기
AndroidManifest.xml 파일에서 애플리케이션 요소 내에 메타데이터 요소를 추가합니다. 메타데이터 요소에는 “asset_statements”의 android:name 속성과 웹사이트의 URL이 포함된 문자열 배열이 있는 리소스 파일을 가리키는 android:resource 속성이 있어야 합니다.
4단계: 딥링크를 처리하도록 앱 준비하기
Android 앱에서 들어오는 딥링크를 처리해야 합니다. 액티비티를 시작한 인텐트를 가져와서 데이터를 추출하여 이를 수행할 수 있습니다.
5단계: 딥링크 테스트하기
마지막으로 딥링크를 테스트할 수 있습니다. 메시징 앱이나 이메일을 통해 자신에게 링크를 보내고 클릭합니다. 모든 것이 올바르게 설정되어 있다면 앱이 열립니다.
유니버설 링크, App Links 및 클릭 추적

클릭 추적 링크는 일반적으로 이메일 온보딩 과정에서 설정됩니다. 고객 온보딩 중에 완료되지 않은 경우 계정 매니저에게 도움을 요청하세요.
이메일 발송 파트너는 클릭 추적 도메인을 사용하여 모든 링크를 래핑하고, Braze 이메일에서 클릭 추적을 위한 URL 파라미터를 포함합니다.
예를 들어, https://www.example.com과 같은 링크는 https://links.email.example.com/uni/wf/click?upn=abcdef123456…과 같은 형태로 변환됩니다.
클릭 추적이 적용된 이메일 링크가 유니버설 링크 또는 App Links로 작동하려면 추가 설정이 필요합니다. 클릭 추적 도메인(links.email.example.com)을 앱이 열 수 있는 도메인으로 추가해야 합니다. 또한 클릭 추적 도메인은 AASA(iOS) 또는 Digital Asset Links(Android) 파일을 제공해야 합니다. 이렇게 하면 클릭 추적이 적용된 이메일 링크가 원활하게 작동합니다.
모든 클릭 추적 링크를 유니버설 링크 또는 App Link로 만들고 싶지 않은 경우, 이메일 발송 파트너에 따라 어떤 링크를 유니버설 링크로 지정할지 선택할 수 있습니다. 자세한 내용은 다음 탭을 참조하세요.
SendGrid 클릭 추적 링크를 유니버설 링크로 처리하려면:
- AASA 또는 AndroidManifest의 pathPrefix 값을 설정하여 URL 경로에
/uni/가 포함된 링크만 유니버설 링크로 처리하도록 합니다. - 링크의 앵커 태그(
<a>)에universal="true"속성을 추가합니다. 이렇게 하면 래핑된 링크의 URL 경로에/uni/가 포함됩니다.

AMP 이메일의 경우 이 속성은 data-universal=”true”로 설정해야 합니다.
예시:
<a href=”https://www.example.com” universal="true">
- 앱이 래핑된 링크를 올바르게 처리하도록 설정되어 있는지 확인합니다. SendGrid의 SendGrid 클릭 추적 링크 해석 관련 문서를 참조하여 운영 체제에 맞는 단계를 따르세요. 이 문서에는 iOS 및 Android용 예제 코드가 포함되어 있습니다.
이 구성을 적용하면 URL 경로에 /uni/가 포함된 링크는 유니버설 링크로 작동하고, 다른 모든 링크는 웹 링크로 작동합니다.
SparkPost 클릭 추적 링크를 유니버설 링크로 처리하려면, 이메일용 드래그 앤 드롭 에디터의 속성 섹션에 다음 속성을 추가하거나, 링크 HTML을 직접 편집하여 링크의 앵커 태그에 data-msys-sublink="custom_path" 속성을 포함시킵니다.
이 커스텀 경로를 사용하면 해당 값이 포함된 URL만 선택적으로 유니버설 링크로 처리할 수 있습니다.
예시:
<a href=”https://www.example.com” data-msys-sublink="open-in-app">
그런 다음, 앱이 커스텀 경로를 올바르게 처리하도록 설정되어 있는지 확인합니다. SparkPost의 딥링크에서 SparkPost 클릭 추적 사용 관련 문서를 참조하세요. 이 문서에는 iOS 및 Android용 예제 코드가 포함되어 있습니다.
커스텀 경로를 사용하여 이메일 클릭 추적 URL에 경로 세그먼트를 추가합니다. 이렇게 하면 모바일 운영 체제가 유니버설 링크 및 App Links로 인식할 수 있는 예측 가능한 URL 패턴이 생성됩니다.
사용자가 모바일 기기에서 이메일 링크를 탭할 때, 커스텀 경로를 사용하면 링크가 메인 모바일 앱, 전용 앱 또는 모바일 브라우저(예: 제품 페이지, 로열티 프로그램, 탈퇴 링크 또는 법무 페이지)에서 열릴지 제어할 수 있습니다.
Amazon SES 클릭 추적 링크를 유니버설 링크 또는 App Link로 처리하려면:
- 이메일 HTML의 앵커 태그에
ses:custom-path속성을 추가하거나, 이메일용 드래그 앤 드롭 에디터의 속성 섹션에서 속성을 추가합니다. 커스텀 경로는 래핑된 클릭 추적 URL에 삽입됩니다.
예시:
<!-- Opens main shopping app -->
<a href="https://yourstore.com/product" ses:custom-path="shop">Shop Now</a>
<!-- Opens loyalty app -->
<a href="https://yourstore.com/rewards" ses:custom-path="rewards">My Rewards</a>
<!-- Opens specialized app -->
<a href="https://yourstore.com/limited" ses:custom-path="limited">Limited Edition</a>
<!-- Stays in browser -->
<a href="https://yourstore.com/unsubscribe" ses:no-track>Unsubscribe</a>
커스텀 경로는 다음 요구 사항을 따라야 합니다:
- 형식: 영숫자 문자, 마침표, 밑줄, 하이픈만 사용 가능
- 길이: 1~32자
- 대소문자 구분: 경로는 모바일 OS 요구 사항에 맞게 대소문자를 구분합니다
- 래핑된 추적 URL에 커스텀 경로 세그먼트가 포함되어 있는지 확인합니다. 속성이 없으면 추적 링크는
track.yourstore.com/CL0/{encodedUrl}/...를 사용합니다. 속성이 있으면track.yourstore.com/CL1/{customPath}/{encodedUrl}/...형식을 따릅니다.
예시:
track.yourstore.com/CL1/shop/...track.yourstore.com/CL1/rewards/...
- 클릭 추적 도메인의 사이트 연결 파일을 구성하여 경로가
/CL1/{customPath}/와 일치하도록 합니다.
iOS (Apple App Site Association):
{
"applinks": {
"apps": [],
"details": [{
"appID": "TEAMID.com.yourcompany.mainapp",
"paths": ["/CL1/shop/*", "/CL1/rewards/*"]
}, {
"appID": "TEAMID.com.yourcompany.limitedapp",
"paths": ["/CL1/limited/*"]
}]
}
}
Android (Digital Asset Links):
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.yourcompany.mainapp",
"sha256_cert_fingerprints": ["..."]
}
}]
Android는 assetlinks.json이 아닌 앱에서 경로를 매칭합니다. 앱이 처리하는 각 커스텀 경로에 대해 AndroidManifest.xml의 인텐트 필터에 android:pathPrefix="/CL1/{customPath}/"를 설정합니다.
앱이 이러한 래핑된 링크를 처리하도록 설정되어 있는지 확인합니다. 클릭 추적 도메인을 앱의 연결된 도메인(iOS) 또는 인텐트 필터(Android)에 추가하고, 이 문서 앞부분에서 설명한 대로 해당 도메인에 AASA 또는 Digital Asset Links 파일을 호스팅합니다.
링크별 클릭 추적 비활성화
HTML 에디터용 이메일 메시지 또는 드래그 앤 드롭 에디터용 HTML 블록에 HTML 코드를 추가하여 특정 링크의 클릭 추적을 비활성화할 수 있습니다.
SendGrid
이메일 서비스 공급자가 SendGrid인 경우, 다음과 같이 HTML 코드 clicktracking=off를 사용합니다:
<a clicktracking=off href="[INSERT https LINK HERE]">click here</a>
SparkPost
이메일 서비스 공급자가 SparkPost인 경우, 다음과 같이 HTML 코드 data-msys-clicktrack="0"를 사용합니다:
<a data-msys-clicktrack="0" href="[INSERT https LINK HERE]">click here</a>
Amazon SES
이메일 서비스 공급자가 Amazon SES인 경우, 다음과 같이 HTML 코드 ses:no-track를 사용합니다:
<a ses:no-track href="[INSERT https LINK HERE]">click here</a>
드래그 앤 드롭 에디터
드래그 앤 드롭 이메일 에디터를 사용하는 경우, 링크가 텍스트, 버튼 또는 이미지에 연결되어 있다면 HTML 코드를 커스텀 속성으로 입력합니다.
텍스트 링크의 커스텀 속성
SendGrid
커스텀 속성으로 다음을 선택합니다:
- 이름:
clicktracking - 값:
off
SparkPost
커스텀 속성으로 다음을 선택합니다:
- 이름:
data-msys-clicktrack - 값:
0
![]()
버튼 또는 이미지의 커스텀 속성
SendGrid
커스텀 속성으로 다음을 선택합니다:
- 이름:
clicktracking - 값:
off - 유형: Link
SparkPost
커스텀 속성으로 다음을 선택합니다:
- 이름:
data-msys-clicktrack - 값:
0 - 유형: Link
![]()
클릭 추적이 적용된 유니버설 링크 문제 해결
이메일에서 유니버설 링크가 예상대로 작동하지 않는 경우(예: 수신자가 이메일 앱에서 웹 브라우저로 이동한 후 앱으로 리디렉션되는 경우), 다음 팁을 참조하여 유니버설 링크 설정 문제를 해결하세요.
Outlook에서 [?it= 또는 원시 URL 텍스트가 버튼 대신 표시되는 경우
Outlook은 링크가 유효한 http:// 또는 https:// URL 스킴을 사용하지 않을 때 [?it=과 같은 행동 유도 텍스트를 표시하거나 href의 일부를 출력할 수 있습니다. 커스텀 스킴, 누락된 스킴 또는 잘못된 형식의 URL은 하이퍼링크로 처리되지 않으므로, 클라이언트가 속성 텍스트를 대신 표시합니다. 모든 버튼, 이미지 링크 및 추적 URL이 완전한 https://(또는 http://) 대상을 사용하는지 확인하세요. 이는 유니버설 링크와 일반 웹 링크 모두에 적용됩니다.
링크 파일 위치 확인
AASA 파일(iOS) 또는 Digital Asset Links 파일(Android)이 올바른 위치에 있는지 확인합니다:
- iOS:
https://click.tracking.domain/.well-known/apple-app-site-association - Android:
https://click.tracking.domain/.well-known/assetlinks.json
이 파일들이 항상 공개적으로 접근 가능한지 확인하는 것이 중요합니다. 파일에 접근할 수 없는 경우 이메일용 유니버설 링크 설정 단계를 놓쳤을 수 있습니다.
도메인 정의 확인
앱이 열 수 있는 도메인에 대한 올바른 정의가 설정되어 있는지 확인합니다.
- iOS: Xcode에서 앱에 설정된 Associated Domains를 검토합니다(1c단계: Xcode 프로젝트에서 Associated Domains 활성화). 클릭 추적 도메인이 해당 목록에 포함되어 있는지 확인합니다.
- Android: 앱 정보 페이지를 엽니다(앱 아이콘을 길게 누르고 ⓘ를 클릭). 앱 정보 메뉴에서 기본으로 열기를 찾아 탭합니다. 그러면 앱이 열 수 있는 모든 인증된 링크가 표시되는 화면이 나타납니다. 클릭 추적 도메인이 해당 목록에 포함되어 있는지 확인합니다.
모든 이메일 링크가 앱에서 열리는 경우
이메일의 모든 링크가 앱에서 열리는 경우(브라우저에서 열려야 하는 링크 포함), 클릭 추적 도메인의 AASA paths(iOS) 또는 Android pathPrefix 값이 전체 도메인과 매칭되고 있는 것입니다(예: * 또는 /*).
이러한 패턴을 앱에서 열어야 하는 URL로만 제한하세요. SendGrid의 경우 /uni/와 매칭하고 해당 링크에만 universal="true"를 추가합니다. 유니버설 링크, App Links 및 클릭 추적을 참조하세요.
추적 도메인에서 .well-known 파일을 제공할 수 없는 경우
경우에 따라 ESP 제한 또는 인프라 제약으로 인해 클릭 추적 도메인에서 필요한 .well-known 파일을 호스팅할 수 없을 수 있습니다. 추적 도메인에 AASA 또는 Digital Asset Links 파일을 호스팅할 수 없는 경우 다음 옵션을 고려하세요:
- 딥링크 URL에서 클릭 추적 선택적 비활성화: 특정 유니버설 링크의 클릭 추적을 비활성화하여 기본 도메인(AASA 또는 Digital Asset Links 파일을 호스팅할 수 있는)으로 직접 이동하도록 할 수 있습니다. 이 방법은 해당 특정 링크에 대한 클릭 분석 데이터가 손실될 수 있다는 점에 유의하세요. 자세한 안내는 링크별 클릭 추적 비활성화를 참조하세요.
- 추적 서브도메인 앞에 CDN 배치: 완전한 클릭 추적 범위와 딥링킹이 모두 필요한 경우, 추적 서브도메인 앞에 CDN(예: Cloudflare 또는 CloudFront)을 배치할 수 있습니다. CDN이
.well-known파일을 로컬에서 제공하고 나머지 모든 트래픽을 ESP로 프록시하도록 구성합니다. 이 방식은 더 복잡하지만 클릭 추적과 유니버설 링크 모두를 완전히 제어할 수 있습니다.
한 워크스페이스에서는 링크가 작동하지만 다른 워크스페이스에서는 작동하지 않는 경우
유니버설 링크 또는 App Links가 프로덕션 워크스페이스에서는 정상적으로 작동하지만 개발 또는 테스트 워크스페이스에서는 실패하는 경우, 발신 이메일 주소 도메인이 각 워크스페이스의 이메일 설정에 구성된 추적 도메인과 일치하는지 확인하세요. 워크스페이스 간 구성이 일관되지 않으면 동일한 이메일 템플릿과 AASA 또는 Digital Asset Links 파일을 사용하더라도 링크가 다르게 작동할 수 있습니다.
이메일 구성을 확인하려면:
- Braze 대시보드에서 설정 > 이메일 환경설정으로 이동합니다.
- 발신 구성에서 아웃바운드 이메일 설정을 검토합니다.
- 링크가 작동하지 않는 워크스페이스에서 발신 도메인과 추적 도메인이 올바르게 정렬되어 있는지 확인합니다.
발신 도메인이 워크스페이스 간에 다른 경우, 각 워크스페이스에 적절한 DNS 레코드가 구성되어 있고 각 추적 도메인에서 AASA(iOS) 또는 Digital Asset Links(Android) 파일에 접근할 수 있는지 확인합니다.
clicktracking=off를 설정했는데 링크가 여전히 클릭 추적되는 이유
링크별 비활성화 속성은 해당 속성을 추가한 특정 HTML 앵커 태그에만 적용됩니다. 링크가 여전히 추적되는 일반적인 원인은 다음과 같습니다:
- HTML 소스에 속성 누락 —
clicktracking=off(SendGrid),data-msys-clicktrack="0"(SparkPost) 또는ses:no-track(Amazon SES)가 미리보기뿐만 아니라 HTML 에디터 소스의<a>태그에 있는지 확인합니다. - 드래그 앤 드롭 커스텀 속성 — 드래그 앤 드롭 에디터의 경우, 링크의 커스텀 속성 이름과 값이 ESP에 맞는지 확인합니다(링크별 클릭 추적 비활성화 참조).
- 일반 텍스트 본문 URL — 메시지의 일반 텍스트 부분에서 링크를 테스트하는 경우, 해당 URL에는 HTML 전용 비활성화 속성이 상속되지 않을 수 있습니다. 테스트 메시지를 발송하고 원시 이메일을 검사하여 어느 부분에 래핑된 링크가 포함되어 있는지 확인합니다.