10분

개인 정보 보호 규정이 강화되고 타사 쿠키가 사라지면서, Adobe Analytics는 CNAME 추적 및 자사 장치 ID(FPID)와 같은 개인 정보 보호 중심 솔루션을 제공하여 데이터의 정확성과 규정 준수를 유지합니다. 이 문서에서는 동의 관리 플랫폼과 함께 이러한 전략을 활용하여 사용자 동의를 존중하면서 탁월한 디지털 경험을 제공하는 방법을 설명합니다.

쿠키는 사용자 행동을 이해하기 위한 웹 분석에 필수적입니다. Adobe Analytics에서 쿠키는 방문자를 식별하고, 세션을 추적하며, 페이지 조회수, 클릭, 전환과 같은 활동을 측정하여 더욱 심층적인 인사이트를 확보하고, 더 나은 성과를 거두며, 더욱 효과적인 마케팅을 가능하게 합니다.

하지만 개인 정보 보호에 대한 우려가 커지고 브라우저 제한이 심화되면서 쿠키 사용, 특히 타사 쿠키의 사용이 제한되었고, 자사 쿠키의 수명도 단축되었습니다. 이러한 변화로 인해 기존 추적 방식에 어려움이 발생하고 전략의 변화가 불가피해졌습니다.

이에 적응하기 위해 많은 팀이 CNAME 기반 구현과 자사 장치 ID(FPID)를 도입하여 사용자 개인 정보를 보호하면서 강력한 추적 기능을 유지하고 있습니다.

이 문서에서는 브라우저 개인 정보 보호 변경 사항이 Adobe Analytics에 어떤 영향을 미치는지 알아보고, 추적 방법을 비교하며, CNAME 및 FPID와 같은 개인 정보 보호 우선 솔루션을 구현하는 방법을 알아보겠습니다.

브라우저 개인 정보 보호 제한의 진화

주요 브라우저 공급업체는 타사 쿠키를 제한하고, 심지어 자사 쿠키의 기능까지 제한하기 위해 개인 정보 보호에 중점을 둔 업데이트를 구현했습니다. 주목할 만한 변경 사항은 다음과 같습니다.

  1. Safari(ITP): 타사 쿠키를 차단하고 자사 쿠키 만료 기간을 최소 7일로 제한하는 ITP(Intelligent Tracking Prevention)를 도입했습니다.
  2. Firefox(ETP): ETP(Enhanced Tracking Protection)는 기본적으로 타사 쿠키를 차단하고 사이트 간 추적을 방지합니다.
  3. Chrome(개인 정보 샌드박스): FLoC(현재 Topics API) 및 보호된 대상 타겟팅과 같은 대안을 통해 타사 쿠키를 단계적으로 폐지하는 것을 목표로 합니다.
  4. Edge(추적 방지): 기본적으로 타사 쿠키 및 추적기를 차단하며, 개인 정보 보호 수준(기본, 균형, 엄격)을 통해 다양한 수준의 보호를 제공합니다.

주요 브라우저별 개인정보 보호 및 추적 방지 설정 비교

아래는 주요 브라우저에서 지난 몇 년간 구현된 주요 개인 정보 보호 관련 변경 사항을 시각적으로 나타낸 것입니다.

주요 브라우저별 핵심 개인 정보 보호 관련 변경 사항

브라우저 변경이 Adobe Analytics에 미치는 영향

타사 쿠키

자사 쿠키

개인 정보 보호 변화에 대응하여 추적 접근 방식의 진화

브라우저에서 타사 및 자사 쿠키에 대한 제한이 강화됨에 따라, Adobe Analytics 구현 방식은 데이터 연속성을 유지하고 사용자 개인 정보를 보호하도록 조정되어야 합니다. 이러한 변화는 방문자 데이터를 분산시키고, 세션을 방해하며, 기여도 분석을 저해할 수 있습니다.

이 문제를 해결하기 위해 개인 정보 보호에 친화적인 추적 전략이 등장했습니다.

이러한 접근 방식은 데이터 품질을 향상하지만 GDPR 및 CCPA와 같은 규정을 준수하려면 사용자 동의가 필요하므로 동의 관리 플랫폼(CMP) 통합이 필수적입니다.

다음 섹션에서는 CMP를 Adobe Web SDK와 통합하여 사용자 선호도를 반영하는 동시에 CNAME 및 FPID와 같은 메서드를 활성화하는 방법을 설명합니다.

Adobe Analytics에 동의 관리 통합(웹 SDK 기반 구현)

GDPR, CCPA, ePrivacy와 같은 최신 개인 정보 보호법은 쿠키 또는 추적 ID를 설정하기 전에 사용자 동의를 요구합니다. 웹 SDK, CNAME 또는 FPID를 사용하는 Adobe Analytics 구현에서는 해당 동의를 기반으로 데이터 수집을 제어해야 합니다.

이 섹션에서는 웹 SDK를 통해 동의 관리 플랫폼(CMP)을 Adobe Analytics와 통합하여 개인 정보 보호를 최우선으로 하고 규정을 준수하는 방법을 설명합니다.

Adobe Analytics에서 동의가 중요한 이유

단계별 CMP 통합

  1. 웹 SDK 전에 CMP 로드
    추적이 시작되기 전에 동의가 확인되도록 웹 SDK보다 먼저 CMP(예: OneTrust, TrustArc)가 로드되는지 확인합니다.

  2. 웹 SDK 확장에서 동의 구성
    Adobe 태그(Launch)에서 다음 작업을 수행합니다.

    • 추적을 일시 중지하려면 기본 동의 상태를 보류 로 설정합니다.

    • 데이터 요소를 사용하여 CMP에서 동의 신호를 읽고 웹 SDK로 전달합니다.

이 공식 안내서인 'Platform Web SDK 확장을 사용하여 동의 관리 플랫폼(CMP)으로 동의 구현'은 내장된 동의 처리 기능이나 타사 CMP와의 통합을 사용하여 Adobe 태그 내에서 동의를 구성하는 단계를 안내합니다.

setConsent() 명령으로 동의 적용

사용자가 CMP를 통해 추적을 수락하면 다음 웹 SDK 명령을 실행하여 동의 상태를 적용합니다.

alloy("setConsent", {

consent: [{

standard: "Adobe",

version: "2.0",

value: {

collect: {

val: "y"

}

}

}]

});

이렇게 하면 추적이 활성화되고 FPID 및 ECID 값이 초기화됩니다.

동의가 부여될 때까지 모든 추적 지연

Adobe 태그 규칙을 구성하여 다음과 같은 작업을 수행할 수 있습니다.

동의 관리 확장(선택한 CMP 공급자 기반)을 사용하면 Launch에서 이 설정을 간소화할 수 있습니다.

웹 SDK와 CMP를 통해 동의 기능이 Adobe Analytics에 제대로 통합되었으므로, 다음 단계는 개인 정보 보호 중심 추적을 구현하는 것입니다. 다음 섹션에서는 규정 준수 및 데이터 정확성을 유지하면서 브라우저 개인 정보 보호 변경 사항에 맞춰 CNAME 기반 추적 및 FPID를 구성하는 방법을 자세히 설명합니다.

브라우저 개인 정보 보호 및 추적 방지 설정: 자사 쿠키 추적 전략

1. CNAME 기반 분석 구현

CNAME 기반 분석 구현을 통해 추적 통화를 Adobe Analytics 서버를 직접 사용하는 대신 도메인을 통해 라우팅할 수 있습니다. 이 접근 방식은 쿠키가 도메인(예: smetrics.yourdomain.com)에 기록되므로 브라우저 기반 추적 방지 메커니즘에 의해 추적 통화가 차단될 가능성을 낮춥니다.

이 방법은 AppMeasurement.jsAEP WebSDK 에서 모두 지원됩니다.

CNAME 기반 추적의 이점
CNAME 추적을 구현하기 위한 고급 단계

1단계: 자사 도메인과 SSL 인증서 설정

    • Adobe 관리 인증서 프로그램 설명서의 구현 섹션에서 다운로드할 수 있는 자사 도메인 요청 양식을 작성하여 사용할 도메인을 나열합니다. 아래 형식을 사용할 수 있습니다. 안전한 추적의 경우 smetrics.[yourdomain], 안전하지 않은 추적의 경우 metrics.[yourdomain] 입니다.
    • 이러한 도메인에 대한 SSL 인증서를 받습니다.

2단계: 하위 도메인 만들기

    • IS/IT 또는 호스팅 팀과 협력하여 필요한 하위 도메인(smetrics.yourdomain.commetrics.yourdomain.com)을 만듭니다.

3단계: Adobe에 지원 요청 제출

    • Adobe Admin Console을 통해 티켓을 엽니다.
    • 1단계에서 만든 도메인 요청 양식을 공유합니다.

4단계: Adobe에서 SSL CNAME 세부 정보 수신

    • Adobe는 Adobe 서버로 데이터를 전달하는 데 필요한 CNAME 레코드 정보를 제공합니다(예: random-10-character-string.data.adobedc.net).

이 CNAME 정보로 도메인 이름 서버(DNS)를 업데이트합니다.

5단계: 호스트 이름 리디렉션 유효성 검사

    • 다음을 사용하여 CNAME 구성을 확인합니다.
      • 브라우저: https://smetrics.yourdomain.com/_check
      • cURL: curl -k https://smetrics.yourdomain.com/_check
      • nslookup: nslookup smetrics.yourdomain.com

6단계: Adobe Analytics 구현 업데이트

    • AppMeasurement.js 의 경우: Adobe Analytics 확장에서 s.trackingServer 및 s.trackingSecureServer를 업데이트합니다.

    • AEP WebSDK 의 경우: Adobe Experience Platform Web SDK 확장의 Edge 도메인 필드를 업데이트합니다.

7단계: 마이그레이션 기간 요청

    • Adobe 지원 센터에 문의하여 마이그레이션 기간(30/60/90일)을 설정합니다.
    • 이렇게 하면 기존 방문자 식별 쿠키가 새로운 CNAME 기반 구현으로 전환하는 동안 동일한 방문자 ID를 검색할 수 있습니다.

2. 자사 장치 ID(FPID)

자사 장치 ID(FPID)는 타사 쿠키에 의존하지 않고 방문자 식별, 데이터 수집 및 데이터 관리를 위한 강력한 메커니즘을 제공합니다.  Adobe Experience Platform(AEP) WebSDK 는 Adobe Edge Network와의 통합을 통해 이를 지원하며, 미래 지향적이며 개인 정보를 보호하는 자사 추적 기능을 제공합니다.

이 섹션에서는 Flask 앱 예시를 사용하여 FPID를 설정하는 전체 프로세스를 안내합니다. 여기에는 DNS 구성, Adobe WebSDK 통합, 데이터 수집을 위한 Adobe Launch 구성 등이 포함됩니다.

데모 설정

이 구현을 위한 테스트 도메인을 설정했습니다. 이 환경을 통해 Adobe Experience Platform Web SDK를 사용하여 자사 장치 ID(FPID)를 구성하는 방법을 시연할 수 있습니다.

아키텍처

DNS 구성

FPID 기반 추적을 구현하려면 도메인의 DNS 레코드를 업데이트하여 웹 서버 또는 로드 밸런서를 가리키는 A/AAAA 레코드를 사용하세요.

DNS 레코드 및 웹 서버/로드 밸런서 IP와 관련된 내용은 아래 스크린샷을 참조할 수 있습니다.

DNS 레코드

웹 서버 로드 밸런서 IP

주의할 핵심 사항은 다음과 같습니다.

FPID를 생성하기 위한 Flask 애플리케이션 설정

FPID는 자사 쿠키를 사용하며, CNAME이나 JavaScript가 아닌 DNS A(IPv4) 또는 AAAA(IPv6) 레코드가 있는 서버를 통해 설정하는 것이 가장 좋습니다. FPID가 설정되면 이벤트 데이터로 Adobe에 전송되어 Adobe Experience Cloud의 주요 식별자인 ECID를 생성합니다.

다음은 UUIDv4를 사용하여 FPID를 생성하는 샘플 Python Flask 애플리케이션입니다.

GitHub: https://github.com/appuriabhi/fpid_flaskapp/

from flask import Flask, render_template, request, make_response
from datetime import datetime, timedelta
import uuid

app = Flask(__name__)

@app.before_request
def before_request():
    cookie_name = ‘FPID’
    cookie_value = request.cookies.get(cookie_name)

    if not cookie_value:
        cookie_value = str(uuid.uuid4())
        expires = datetime.now() + timedelta(days=30*13)
        response = make_response()
        response.set_cookie(cookie_name, cookie_value,
                            expires=expires, secure=False, samesite=’Lax’)
        return response

#routes below
@app.route(‘/’)
def home():
    response = make_response(render_template(‘home.html’))
    return response

@app.route(‘/about’)
def about():
    response = make_response(render_template(‘about.html’))
    return response

if __name__ == ‘__main__’:
    app.run(debug=True)

Platform Edge Network는 UUIDv4 형식의 ID만 허용하며, 다른 형식은 거부합니다. UUIDv4는 반복될 가능성이 매우 낮고 IP 주소와 같은 개인 정보를 사용할 수 없는 고유하고 무작위적인 ID를 생성합니다.

거의 모든 프로그래밍 언어에는 UUID를 생성하는 라이브러리가 있습니다. 위 예시에서는 Python 패키지 'uuid'를 사용하여 식별자를 생성했습니다.

FPID 쿠키 값을 사용하여 ECID 값을 시드하도록 구현 업데이트

FPID 쿠키 값(uuid)을 사용하여 Experience Cloud ID 값을 시드하도록 WebSDK 구현을 업데이트할 수 있는 두 가지 방법은 다음과 같습니다.

1. identityMap 에서 FPID 사용

아래 형식으로 'FPID' 값을 설정하여 /interact 추적 호출에 포함하거나 상호 작용하도록 XDM IdentityMap을 업데이트합니다.

{
  "identityMap": {
    "FPID": [
      {
        "id": "321a7654-b12c-42d3-9456-426614174123,"
        "authenticatedState": "ambiguous,"
        "primary": true
      }
    ]
  }
}

Adobe Launch의 XDM IdentityMap 데이터 요소

2. 데이터 스트림에서 CookieName 업데이트

IdentityMap에서 쿠키 값을 읽어 설정하는 대신, Data Stream UI에서 FPID 쿠키 이름을 지정합니다.

FPID에 대한 데이터 스트림 설정

네트워크 호출에서 FPID 유효성 검사

아래 스크린샷에 강조 표시된 대로 FPID가 페이로드에 포함되어 있는지 확인하려면 브라우저의 네트워크 탭에서 /interact 추적 호출을 확인할 수 있습니다.

네트워크 추적 호출 “/interact”의 유효성 검사

Analytics 보고서 유효성 검사

FPID 쿠키 값이 방문자의 브라우저에 지속적으로 저장되므로 모든 방문에서 동일한 Experience Cloud ID(ECID)를 적용할 수 있습니다.

Analytics 보고서 유효성 검사

결론 및 모범 사례

오늘날 변화하는 디지털 환경에서 Adobe Analytics에 쿠키 관리를 위한 개인 정보 보호 중심 전략을 통합하는 것은 매우 중요합니다. 브라우저 개인 정보 보호 제한이 강화되고 사용자가 자신의 데이터에 대한 더 많은 통제력을 요구함에 따라, 정확한 분석을 유지하고 사용자 개인 정보를 존중하기 위해서는 이러한 변화에 적응하는 것이 필수적입니다.

참조 항목