For AI agents: a documentation index is available at /docs/llms.txt. Append .md to any page URL for markdown, or send Accept: text/markdown.
Google Analytics 4 가져오기
Amplitude의 Google Analytics 4 연동을 통해 Google Analytics 4 데이터를 Amplitude 프로젝트에 수집할 수 있습니다.
사전 조건
GA4에서 가져오기를 시작하려면 몇 가지 전제 조건을 충족하십시오.
- BigQuery 링크를 설정합니다.
- GCS 버킷을 생성합니다. Amplitude는 이 목적을 위해 전용 시스템을 권장합니다. BigQuery의 내보내기 옵션이 제한적이기 때문에 수집 프로세스는 이를 Amplitude에 수집하기 전에 데이터를 GCS 버킷으로 오프로드해야 합니다.
- 수집하려는 버킷과 테이블에 대해 부여된 권한 관리를 가진 서비스 계정을 생성한 다음 서비스 계정 키를 가져옵니다. 서비스 계정에는 다음과 같은 역할이 부여되어 있어야 합니다.
- BigQuery:
- 프로젝트 수준의 BigQuery 작업 사용자입니다.
- 수집하려는 데이터에 액세스하는 데 필요한 리소스 수준의 BigQuery 데이터 뷰어입니다. 데이터가 단일 테이블에 있는 경우 해당 테이블 리소스에 대한 BigQuery 데이터 뷰어 권한을 서비스 계정에 부여하세요. 쿼리에 여러 테이블 또는 데이터 세트가 필요한 경우 쿼리의 모든 테이블 또는 데이터 세트에 대해 BigQuery 데이터 뷰어를 허용하세요.
- 클라우드 스토리지:
- 수집에 사용 중인 GCS 버킷의 스토리지 관리자입니다.
- BigQuery:
- 회사의 네트워크 정책에 따라 Amplitude의 서버가 BigQuery 인스턴스에 액세스할 수 있도록 허용 목록에 다음 IP 주소를 추가해야 할 수도 있습니다.
- Amplitude 미국 IP 주소:
- 52.33.3.219.
- 35.162.216.242.
- 52.27.10.221.
- Amplitude EU IP 주소:
- 3.124.22.25.
- 18.157.59.125.
- 18.192.47.195.
- Amplitude 미국 IP 주소:
Amplitude가 GA4 데이터를 가져오는 방법
다음은 Amplitude가 GA4 데이터를 가져오는 방법을 단계별로 설명한 것입니다.
GA4 데이터를 BigQuery로 내보냅니다.
첫째, Amplitude는 BigQuery Linking을 통해 GA4 데이터를 BigQuery 프로젝트로 내보냅니다. 이 프로세스는 GA4에서 BigQuery로 이벤트 데이터의 자동화된 흐름을 생성합니다.
BigQuery의 데이터를 GCS 버킷으로 언로드하세요.
BigQuery의 내보내기 제한사항(예: 내보내기 크기 제한)을 처리하기 위해 Amplitude는 BigQuery에서 사용자가 제공한 GCS 버킷으로 데이터를 언로드합니다. 이를 통해 Amplitude에 데이터를 수집할 준비가 완료됩니다.
지연 처리:
데이터가 완전한지 확인하기 위해 Amplitude는 GA4의 내보내기 프로세스로 인한 지연을 고려합니다.
- 일일 내보내기의 경우 72시간.
- 스트리밍 내보내기는 24시간입니다.
캐치업 가져오기:
백로그가 있는 경우, Amplitude는 캐치업 전략을 사용하여 하루에 10개의 테이블을 배치로 처리합니다. 예를 들면 다음과 같습니다.
- 2025-01-01의 이벤트 테이블에서 시작하도록 가져오기를 구성하고 오늘 날짜가 2025-01-24인 경우, Amplitude는 다음과 같이 데이터를 가져옵니다:
- 2025년 1월 24일 첫 번째 배치에서 2025년 1월 1일부터 2025년 1월 10일까지.
- 2025년 1월 25일의 두 번째 배치에서는 2025년 1월 11일부터 2025년 1월 20일까지입니다.
- 2025년 1월 26일의 세 번째 배치에서 2025년 1월 21일부터 2025년 1월 23일까지입니다.
- 2025년 1월 27일의 2025년 1월 24일(일일 내보내기에 대해 72시간 지연이 있기 때문).
- 2025-01-01의 이벤트 테이블에서 시작하도록 가져오기를 구성하고 오늘 날짜가 2025-01-24인 경우, Amplitude는 다음과 같이 데이터를 가져옵니다:
또한 언로드 프로세스 중에 Amplitude는 데이터를 원활한 수집을 위해 필요한 형식으로 변환합니다.
GCS에서 Amplitude로 데이터를 가져옵니다.
데이터가 GCS 버킷에 준비되면 Amplitude가 사용자를 대신하여 데이터를 가져옵니다.
GA4를 소스로 추가
GA4를 Amplitude 프로젝트의 데이터 소스로 추가하려면 다음 단계를 따르십시오.
Amplitude에서 데이터, 카탈로그를 클릭하고 소스 탭을 선택합니다.
데이터 웨어하우스 섹션에서 Google Analytics 4를 클릭합니다.
서비스 계정 키를 추가하고 GCS 버킷 이름을 지정합니다.
자격 증명을 확인한 후 다음을 클릭하여 테이블 선택을 구성합니다. 다음 옵션을 따르십시오.
- 테이블 유형 선택: BigQuery 링크에서 구성한 내보내기 유형에 따라 테이블 유형을 선택합니다.
- 매일: 매일로 구성한 경우 선택합니다.
- 스트리밍: 스트리밍을 사용하여 구성한 경우 선택합니다.
- 둘 다: 둘 다 선택한 경우
Daily을 선택합니다.
- 테이블 이름 입력: 테이블 이름을 형식으로 입력하십시오
projectId.datasetName.tableName.- 중요 사항: Amplitude는 제공된 첫 번째 테이블부터 시작하여 지속적으로 데이터를 가져옵니다. 그러나 GA4의 데이터 내보내기 지연으로 인해:
- 일일 테이블은 72시간 지연됩니다.
- 스트리밍 테이블은 24시간 지연됩니다.
- 예를 들어 2025-01-01에 가져오기를 시작했고 오늘 날짜가 2025-01-05인 경우 Amplitude는 2025-01-01과 2025-01-02의 데이터를 먼저 가져옵니다. 다음 날(2025-01-06)에는 가져오기에 2025-01-03이 포함됩니다. 너무 일찍 가져오면 데이터가 불완전해질 수 있으므로 이 프로세스를 통해 데이터를 완벽하게 가져올 수 있습니다.
- 중요 사항: Amplitude는 제공된 첫 번째 테이블부터 시작하여 지속적으로 데이터를 가져옵니다. 그러나 GA4의 데이터 내보내기 지연으로 인해:
- 테이블 유형 선택: BigQuery 링크에서 구성한 내보내기 유형에 따라 테이블 유형을 선택합니다.
옵션을 구성한 후 다음을 클릭합니다. Amplitude는 사전 정의된 SQL 쿼리를 실행하여 BigQuery에서 가져온 데이터를 확인합니다. Amplitude는 GA4 데이터를 호환 가능한 형식으로 변환합니다. 필수 필드는 Amplitude HTTP V2 API 문서를 참조하십시오.
- SQL 편집: 미리 정의된 쿼리는 일반적으로 모든 필수 필드를 처리하지만 필요한 경우 추가 필드를 포함하도록 쿼리를 사용자 정의할 수 있습니다.
오류가 발생하지 않으면 다음을 클릭합니다. 소스 이름을 입력하고 저장을 클릭합니다. Amplitude가 GA4 소스를 활성화했음을 확인하는 알림이 표시됩니다. 소스 목록 페이지가 로드되고 새로 생성된 GA4 소스가 목록에 나타납니다.
전체 설정 다음 기간동안 문제가 발생하거나 질문이 있는 경우, Amplitude 팀에 지원을 요청하세요: 지원팀에 문의하세요.
BigQuery SQL 팁
이러한 팁과 모범 사례는 BigQuery의 SQL 쿼리를 탐색하는 데 도움이 되며, 이는 몇 가지 면에서 다른 SQL 쿼리와 다릅니다.
속성 필드
속성 키와 값으로 구성된 '속성' 필드는 많은 Amplitude 기능을 지원합니다. 이러한 속성 필드 중 가장 일반적인 필드는 event_properties및 user_properties입니다.
Amplitude가 이러한 키 및 값 세트를 올바르게 수집하려면 BigQuery가 이를 JSON 문자열이 아닌 원시 JSON으로 내보내야 합니다. BigQuery는 JSON을 강력하게 지원하지 않지만, 다음은 데이터를 BigQuery에서 내보내고 Amplitude로 오류 없이 가져오는 방법을 설명합니다.
속성 필드는 STRUCT 유형의 열에서 비롯됩니다. 구조체 유형은 키-값 구조를 나타내는 필드 유형이며 BigQuery에서 원시 JSON 형식으로 내보냅니다.
소스 테이블에 이벤트 또는 사용자 속성이 구조체 유형 열에 구성되어 있지 않은 경우 SELECT SQL에서 생성할 수 있습니다. 예를 들어, 이벤트 속성이 모두 고유한 열로 평탄화되어 있는 경우 다음과 같이 event_properties을 구조체로 구성할 수 있습니다.
SELECT STRUCT(
event_property_column_1 AS event_property_name_1,
event_property_column_2 AS event_property_name_2
) as event_properties
FROM your_table;
레코드 유형 및 반복 모드 필드에서 이벤트 또는 사용자 속성 재구성
RECORD 유형과 REPEATED 모드가 있는 event_properties 또는 user_properties 필드가 있는 경우, Amplitude로 수집하기 전에 해당 필드를 유효한 형식으로 변환해야 할 수도 있습니다.
이러한 트랜스포메이션을 달성하기 위한 두 가지 접근 방식은 다음과 같습니다.
- PARSE_JSON을 사용하여 속성을 JSON 객체로 재구성하고 모든 값의 형식이 올바르게 지정되도록 할 수 있습니다.
PARSE_JSON(CONCAT('{',
(
SELECT STRING_AGG(
CONCAT('"', key, '":"',
COALESCE(
NULLIF(CODE_POINTS_TO_STRING(
ARRAY((
SELECT * FROM UNNEST((
SELECT TO_CODE_POINTS(CAST(value.string_value AS STRING))
)) AS code_points
WHERE code_points > 31 AND code_points != 34 AND code_points != 92
))
), ''),
NULLIF(CAST(value.int_value AS STRING), ''),
NULLIF(CAST(value.float_value AS STRING), ''),
NULLIF(CAST(value.double_value AS STRING), '')
),
'"'
)
) FROM UNNEST(event_properties)
),
'}'
)) AS event_properties
- 또는 개별 키-값 쌍을 직접 추출할 수 있습니다.
(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'key1') AS key1,
(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'key2') AS key2
이벤트 속성을 변환한 후에는 Amplitude가 수집할 수 있도록 해당 속성을 STRUCT로 포맷하세요:
STRUCT
(
action AS action,
field AS field
) AS event_properties
구조체 필드 이름에는 백틱이나 작은따옴표로 묶더라도 스페이스를 사용할 수 없습니다.
JSON 문자열 필드의 속성
이벤트 또는 사용자 속성이 문자열 필드에 JSON으로 형식화되어 있는 경우에도 여전히 select SQL의 속성 필드를 STRUCT로 재구성해야 합니다. BigQuery는 콘텐츠가 JSON이더라도 문자열 필드를 문자열로 내보냅니다. Amplitude의 이벤트 검증은 이러한 내용을 거부합니다.
그러나 JSON 문자열 필드에서 값을 추출하여 속성 STRUCT에 사용할 수 있습니다. JSON_EXTRACT_SCALAR 함수를 사용하여 다음과 같이 문자열의 값에 액세스합니다. 테이블의 EVENT_PROPERTIES열에 다음과 같은 JSON 문자열이 포함되어 있는 경우
{"record count":"50","region":"eu-central-1"}) 이 값은 BigQuery UI에 "{\"record count\":\"50\",\"region\":\"eu-central-1\"}"로 표시되며, 다음 SQL을 사용하여 JSON 문자열에서 값을 추출할 수 있습니다.
SELECT STRUCT(
JSON_EXTRACT_SCALAR(EVENT_PROPERTIES, "$.record count") AS record_count,
JSON_EXTRACT_SCALAR(EVENT_PROPERTIES, "$.region") AS region
) as event_properties
FROM your_table;
BigQuery 문자열 리터럴
지원: 다른 데이터 웨어하우스 제품과 달리 BigQuery는 "큰따옴표로 묶인 문자열"을 문자열 리터럴로 취급합니다. 즉, 열 이름이나 테이블 이름과 같은 식별자를 따옴표로 묶는 데 사용할 수 없으며, 그렇지 않으면 BigQuery에서 SQL이 실행되지 않습니다.
이 내용이 도움이 되었나요?