이 페이지에서

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 애널리틱스에서 마이그레이션

이 가이드는 Google 애널리틱스(GA4)에서 Amplitude로 마이그레이션하기 위한 옵션에 대해 설명합니다. 마이그레이션하려면 Amplitude의 이벤트 구조 및 기능에 맞게 추적 구현을 조정해야 합니다.

Amplitude는 두 가지 마이그레이션 방법을 제공합니다.

  1. 로우코드 Google 애널리틱스 이벤트 전달 플러그인
  2. Google 애널리틱스과 Amplitude 추적 간의 차이점을 강조하는 마이그레이션 가이드입니다.

과거 GA4 데이터 가져오기

BigQuery를 통해 과거 Google 애널리틱스 4 데이터를 Amplitude로 가져올 수 있습니다. 설정 지침은 Google 애널리틱스 4 가져오기 문서를 참조하십시오.

Google 애널리틱스에서 이벤트 전달

덜 복잡한 구현을 위해 Amplitude는 로우 코드 마이그레이션 도구인 Google 애널리틱스 Event Forwarder를 제공합니다.

Google 애널리틱스 이벤트 전달기의 작동 방식

포워더는 Amplitude Browser SDK에 대한 플러그인입니다. 애플리케이션에 플러그인을 설치한 후 플러그인은 Google 애널리틱스(GA4)이 추적하는 이벤트를 수신합니다. Google 애널리틱스(GA4)으로 전송되는 각 이벤트에 대해 플러그인은 해당 이벤트를 Amplitude로 전송합니다.

Google 애널리틱스 이벤트 전달기를 사용하여 Amplitude 초기화

Google 태그 스니펫 앞에 Amplitude SDK와 Google 애널리틱스 이벤트 포워더 스니펫을 추가하십시오. Google 태그 스니펫 앞에 배치하면 Amplitude가 Google 애널리틱스을 통해 수집한 모든 이벤트를 수신할 수 있습니다.

plaintext
<script type="text/javascript">
  !function(){"use strict";!function(e,t){var r=e.amplitude||{_q:[],_iq:{}};if(r.invoked)e.console&&console.error&&console.error("Amplitude snippet has been loaded.");else{var n=function(e,t){e.prototype[t]=function(){return this._q.push({name:t,args:Array.prototype.slice.call(arguments,0)}),this}},s=function(e,t,r){return function(n){e._q.push({name:t,args:Array.prototype.slice.call(r,0),resolve:n})}},o=function(e,t,r){e[t]=function(){if(r)return{promise:new Promise(s(e,t,Array.prototype.slice.call(arguments)))}}},i=function(e){for(var t=0;t<m.length;t++)o(e,m[t],!1);for(var r=0;r<y.length;r++)o(e,y[r],!0)};r.invoked=!0;var a=t.createElement("script");a.type="text/javascript",a.crossOrigin="anonymous",a.src="https://cdn.amplitude.com/libs/plugin-ga-events-forwarder-browser-0.4.1-min.js.gz",
  a.onload=function(){e.gaEventsForwarder&&e.gaEventsForwarder.plugin&&e.amplitude.add(e.gaEventsForwarder.plugin())};var c=t.createElement("script");c.type="text/javascript",c.integrity="sha384-HpnlFSsUOQTaqmMKb6/PqZKVOBEpRji3JNLr81x6XElQ4bkquzRyG/F8rY8IDMuw",c.crossOrigin="anonymous",c.async=!0,c.src="https://cdn.amplitude.com/libs/analytics-browser-2.2.1-min.js.gz",c.onload=function(){e.amplitude.runQueuedFunctions||console.log("[Amplitude] Error: could not load SDK")};var u=t.getElementsByTagName("script")[0];u.parentNode.insertBefore(a,u),u.parentNode.insertBefore(c,u);for(var p=function(){return this._q=[],this},d=["add","append","clearAll","prepend","set","setOnce","unset","preInsert","postInsert","remove","getUserProperties"],l=0;l<d.length;l++)n(p,d[l]);r.Identify=p;for(var g=function(){return this._q=[],this},v=["getEventProperties","setProductId","setQuantity","setPrice","setRevenue","setRevenueType","setEventProperties"],f=0;f<v.length;f++)n(g,v[f]);r.Revenue=g;var m=["getDeviceId","setDeviceId","getSessionId","setSessionId","getUserId","setUserId","setOptOut","setTransport","reset","extendSession"],y=["init","add","remove","track","logEvent","identify","groupIdentify","setGroup","revenue","flush"];i(r),r.createInstance=function(e){return r._iq[e]={_q:[]},i(r._iq[e]),r._iq[e]},e.amplitude=r}}(window,document)}();
  amplitude.init('YOUR_API_KEY');
</script>

'YOUR_API_KEY'을(를) Amplitude 계정에서 찾을 수 있는 Amplitude API 키로 대체하십시오.

Google 태그는 웹사이트의 모든 페이지에서 <head> 요소 바로 뒤에 나타납니다. 계정의 Google 태그는 아래 예제와 같습니다.

html
    <!-- Google tag (gtag.js) -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
    <script>
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());
    gtag('config', 'G-XXXXXXXXXX');
    </script>

Google 애널리틱스와 Amplitude 스니펫을 모두 추가한 후에는 Google 애널리틱스 이벤트가 추가 계측 없이 Amplitude에 표시됩니다.

Google 애널리틱스에서 전달된 이벤트 이름과 속성은 Google 애널리틱스에 설정된 명명 규칙을 유지합니다. 예를 들어 Google 애널리틱스의 사용자 지정 차원에 city를 저장하면 해당 이벤트 속성이 Amplitude에서 ua_dimension_14로 표시될 수 있습니다.

또한 Amplitude는 Google 애널리틱스의 측정 ID를 추적하여 이벤트가 발생한 위치를 식별하는 데 도움을 줍니다.

Google 애널리틱스과 Amplitude가 기본적으로 모두 추적하는 이벤트의 경우(예: page_view), 플러그인은 중복을 방지하기 위해 Amplitude 기본값을 사용합니다.

Google 애널리틱스 교체

보다 맞춤화된 구현을 원하시면 Google 애널리틱스을 Amplitude로 대체하고 Amplitude를 통해 이벤트가 올바르게 추적되도록 추적을 조정하십시오.

Amplitude 초기화

애플리케이션 코드에서 Google 애널리틱스(GA4) 초기화 스크립트를 Amplitude 초기화 스크립트로 바꿉니다.

Google 애널리틱스 스크립트:

html
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'G-XXXXXXXXXX');
</script>

아래의 Amplitude 초기화 스크립트를 복사하거나 GitHub에서 더 많은 설치 옵션을 확인하십시오.

plaintext
<script type="text/javascript">
  !function(){"use strict";!function(e,t){var r=e.amplitude||{_q:[],_iq:{}};if(r.invoked)e.console&&console.error&&console.error("Amplitude snippet has been loaded.");else{var n=function(e,t){e.prototype[t]=function(){return this._q.push({name:t,args:Array.prototype.slice.call(arguments,0)}),this}},s=function(e,t,r){return function(n){e._q.push({name:t,args:Array.prototype.slice.call(r,0),resolve:n})}},o=function(e,t,r){e._q.push({name:t,args:Array.prototype.slice.call(r,0)})},i=function(e,t,r){e[t]=function(){if(r)return{promise:new Promise(s(e,t,Array.prototype.slice.call(arguments)))};o(e,t,Array.prototype.slice.call(arguments))}},a=function(e){for(var t=0;t<m.length;t++)i(e,m[t],!1);for(var r=0;r<g.length;r++)i(e,g[r],!0)};r.invoked=!0;var c=t.createElement("script");c.type="text/javascript",c.integrity="sha384-Chi7fRnlI3Vmej27YiXRbwAkES7Aor2707Qn/cpfhyw4lYue9vH/SOdlrPSFGPL/",c.crossOrigin="anonymous",c.async=!0,c.src="https://cdn.amplitude.com/libs/analytics-browser-2.3.2-min.js.gz",c.onload=function(){e.amplitude.runQueuedFunctions||console.log("[Amplitude] Error: could not load SDK")};
  var u=t.getElementsByTagName("script")[0];u.parentNode.insertBefore(c,u);for(var l=function(){return this._q=[],this},p=["add","append","clearAll","prepend","set","setOnce","unset","preInsert","postInsert","remove","getUserProperties"],d=0;d<p.length;d++)n(l,p[d]);r.Identify=l;for(var f=function(){return this._q=[],this},v=["getEventProperties","setProductId","setQuantity","setPrice","setRevenue","setRevenueType","setEventProperties"],y=0;y<v.length;y++)n(f,v[y]);r.Revenue=f;var m=["getDeviceId","setDeviceId","getSessionId","setSessionId","getUserId","setUserId","setOptOut","setTransport","reset","extendSession"],g=["init","add","remove","track","logEvent","identify","groupIdentify","setGroup","revenue","flush"];a(r),r.createInstance=function(e){return r._iq[e]={_q:[]},a(r._iq[e]),r._iq[e]},e.amplitude=r}}(window,document)}();
  amplitude.init("<YOUR_API_KEY>");
</script>

이벤트 추적

Amplitude의 추적 기능은 Google 애널리틱스(GA4)과는 다른 매개변수를 필요로 합니다. 아래의 코드 조각에서 추적 기능을 비교해 보십시오.

Google 애널리틱스(GA4)

js
gtag('event', 'event_name', {
  param1: 'value1',
  param2: 'value2',
});

Amplitude

자세한 내용은 이벤트 추적을 참조하십시오.

js
amplitude.track('event_name, {
  param1: 'value1',
  param2: 'value2',
})

사용자 ID 설정

Google 애널리틱스(GA4)

js
gtag('config', 'GA_MEASUREMENT_ID', {
    user_id: 'USER_ID',
});

Amplitude

자세한 내용은 사용자 지정 사용자 ID를 참조하십시오.

js
amplitude.setUserId('USER_ID');

사용자 속성 설정

Google 애널리틱스(GA4)

js
gtag('set', 'user_properties', {
    property1: 'value1',
    property2: 'value2',
});

Amplitude

자세한 내용은 사용자 속성을 참조하십시오.

js
amplitude.identify(
  new amplitude.Identify()
    .set('property1', 'value1')
    .set('property2', 'value2'),
);

자세한 내용은 Amplitude Browser SDK 문서를 참조하십시오.

이 내용이 도움이 되었나요?