익명화와 클라이언트-서버 데이터 결합
대안적인 접근 방식으로는 데이터 익명화를 사용한 데이터 결합과 클라이언트-서버 데이터 통합을 통한 방법이 있습니다. 각 방법을 살펴보겠습니다.
1. 익명화된 데이터 및 해싱 사용
익명화 또는 가명화된 사용자 ID를 통해 Google Analytics에서 수집된 데이터를 결합하는 것입니다. 예를 들어, 다음과 같은 방식으로 데이터 결합을 수행할 수 있습니다.
- 서버에서 익명화된 사용자 ID 생성:
- 웹 서비스에서 사용자의 고유한 user_id를 기반으로, user_hash_id를 생성합니다. 이때 SHA-256이나 비슷한 해싱 알고리즘을 사용하여 개인 식별을 불가능하게 합니다.
import hashlib def get_anonymized_user_id(user_id): return hashlib.sha256(user_id.encode()).hexdigest()
- GA로 익명화된 사용자 ID 전송:
- 웹사이트에서 사용자가 특정 행동을 할 때 해싱된 user_hash_id를 맞춤 차원(Custom Dimension)으로 설정하여 Google Analytics에 전송합니다. GA에서는 이 user_hash_id로 개별 사용자 세션을 구분할 수 있습니다.
- 이 과정에서 쿠키 동의나 개인정보 수집 동의는 반드시 필요합니다.
- 웹 서비스와 결합:
- 이후 웹 서비스 내 데이터베이스에서도 동일한 방식으로 해싱된 user_hash_id를 생성하고, 이를 이용해 GA 데이터와 결합할 수 있습니다.
- 예를 들어, GA 데이터를 BigQuery로 내보내고, 웹 서비스에서 동일한 방식으로 해싱된 user_hash_id와 결합하는 식입니다.
WITH ga_data AS (
SELECT
user_hash_id,
session_id,
event_name,
TIMESTAMP_SECONDS(event_timestamp) AS event_time
FROM
`my_project.my_dataset.ga_sessions`
WHERE
user_hash_id IS NOT NULL
)
SELECT
users.user_hash_id,
users.name,
users.subscription_status,
ga_data.session_id,
ga_data.event_name,
ga_data.event_time
FROM
ga_data
JOIN
`my_project.my_dataset.users` AS users
ON
ga_data.user_hash_id = users.user_hash_id
ORDER BY
ga_data.event_time DESC
LIMIT 100;
이와 같은 방식으로 사용자 행동 데이터를 결합할 수 있지만, 데이터가 익명화되어야 하고 역추적이 불가능해야 합니다.
2. 클라이언트-서버 데이터 동기화 및 자체 데이터베이스 사용
Google Analytics의 제한을 피해 데이터를 결합하는 또 다른 방법은 서버 쪽에서 사용자 행동 데이터를 수집하는 것입니다. 이 방법은 GA의 데이터와 직접적으로 결합하지 않으면서, 자체 분석을 통해 사용자 행동을 보다 자세히 분석할 수 있도록 합니다.
- 서버 로그에 사용자 행동 데이터 저장:
- 웹 서비스 자체에서 사용자가 특정 행동을 할 때 서버 로그에 해당 행동 데이터를 기록합니다.
- 이 행동 데이터는 사용자 세션 ID와 함께 저장됩니다.
- GA 이벤트 수집과 서버 데이터의 동기화:
- 서버 로그에서 특정 사용자에 대한 행동 데이터를 수집할 수 있으므로, 이를 Google Analytics와 독립적으로 사용할 수 있습니다.
- 특정 행동 이벤트가 발생할 때, 서버와 Google Analytics 모두 이벤트를 기록하도록 설정합니다. 이렇게 하면 서로 다른 데이터 소스에 사용자의 이벤트 데이터가 남아 있어 이를 분석할 수 있습니다.
- 자체 분석 환경 구축:
- Google Analytics 데이터를 BigQuery로 내보내고, 서버 로그 데이터를 BigQuery에 업로드한 다음 두 데이터를 조합하여 분석합니다.
- 여기서도 개인정보는 저장하지 않고, 특정 해싱된 식별자를 사용해 서버와 GA 데이터를 결합합니다.
이 방법은 Google Analytics의 사용과 별도로 데이터를 자체적으로 보유하고 관리할 수 있기 때문에, GA의 제한에 얽매이지 않고 데이터를 결합하여 사용할 수 있다는 장점이 있습니다.
3. CRM과의 결합 (고급)
CRM 데이터를 활용하여 사용자 데이터를 분석하는 것도 하나의 방법입니다. CRM과 GA 데이터를 통합할 때 중요한 사항은 개인 정보의 익명화입니다. CRM에서는 사용자 정보와 행동 데이터를 보유하고 있으며, 이 데이터를 익명화하거나 요약된 형태로 GA의 행동 데이터와 결합할 수 있습니다.
- 예를 들어, CRM에서 사용자 그룹을 특정 기준(예: subscription_status)으로 분류한 후, GA의 행동 데이터를 통해 어떤 그룹이 어떤 행동을 하는지 분석하는 방식입니다.
- 이 과정은 CRM의 데이터를 익명화된 상태에서 데이터 분석 목적으로만 사용하는 것이며, CRM 데이터와 GA 데이터를 직접 통합하여 개인을 식별할 수 있는 형태로 결합하는 것은 금지됩니다.
사용자를 식별할 수 있는 user_id를 그대로 GA에 저장하는 대신, 해싱된 익명화 ID를 사용하거나 서버 로그와 GA 데이터를 병행하여 수집하는 방식을 살펴봤습니다. Google Analytics와 웹 서비스 데이터를 결합하는 과정에서 개인정보 보호법과 GA의 정책을 준수하는 것이 매우 중요함으로 실제 사용시 보다 구체적인 점검이 필요합니다.
'IT > Etc' 카테고리의 다른 글
맥북에서 miniconda 설치 (1) | 2024.10.12 |
---|---|
The AI Code Editor - Cursor (2) | 2024.10.08 |
Napkin - Get visualsfrom your text (0) | 2024.09.14 |
Multi Agentic GPT (0) | 2024.09.12 |
글자를 잘 나타내는 AI - ideogram (0) | 2024.08.26 |
댓글