Tracking Multiple Domains
이 문서는 single profile에 multiple domain에 대한 visits를 수집하는 여러 방법들에 대해 설명하고 있습니다. (그 multiple domain 들이 두 개의 별도 site 에 있지 않고 한개의 site 에 있다고 가정할 때) 그리고 웹사이트의 portion들을 어떻게 track 하는지에 대해서도 다루고 있습니다. 예를 들어 sub-directory 와 iFramed content 같은 경우들을 말하죠. 만약 여러분이 cross-domain tracking 에 대해 잘 모르신다면 저희 Help Center 에 있는 Domains
and Directories를 참조하세요.
Introduction
Google Analytics 의 디폴트 setup 은 Single Domain 에 대한 content 와 visitor data를 track 하도록 디자인 돼 있습니다. (예. www.example.com)
그렇지만 만약 여러분이 좀 더 복잡한 상황에서 Analytics를 사용하기를 원하신다면, 예를 들어
- Subdomains—
dogs.example.com 와
www.example.com 에 방문하는 모든 방문기록. 두 도메인에 대한 정보가 같이 report 되기 원할 때
- Subdirectories— 오직
www.example.com/dogs 의
subdirectory에 대한 방문만 별도로 report 하기를 원할 때. 만약 한 사이트(single site) 에 있는 경우
- 3rd-party shopping carts— 온라인 쇼핑몰과 소핑카트 가 서로 다른 도메인에 host 돼 있을 때
- Top-level domains— 당신이 가지고 있는 두개의 도메인에 대한 모든 visitor들의 정보가 같은 report profile 에 보여지기를 원할 때. 예를 들어
www.example-petstore.com
와 www.my-example-blog.com
,
- IFramed Content— 다른 도메인에 있는 내용이 당신의 웹페이지에서 iFrame 으로 표시될 때. 거기에 대한 visitor와 pageview 데이터를 얻고 싶은 경우
위의 경우에 해당되면 여러분은 정확히 visitor 를 track 하기 위해 tracking code 에 약간의 customization 을 해야 합니다. 이 작업을 하기 전에 디폴트 Analytics installation 에서 Domains and Directories들이 어떻게 다뤄지는지를 먼저 이해하시면 훨씬 도움이 되실 겁니다.
Tracking Scenarios
이 section은 다양한 tracking scenario들에 대해 다룹니다. 가장 많이 사용되는 경우부터 정리했습니다.
Tracking Across Multiple Domains and Sub-domains
이 시나리오는 두개의 unique 한 도메인들과 하나의 sub-domain 을 track 해야 하는 상황입니다. 예를 들어 당신은 온라인 쇼핑몰을 가지고 있고 또한 당신의 블로그에 방문하는 사람도 track 하기를 원합니다.
아래내용은 3개의 example URL 들에 대한 key tracking code customization을 보여줍니다.
- Online Store Domain:
www.example-petstore.com
▸
Traditional (ga.js) syntax
당신이 customize 해야하는 유일한 링크나 form data는 www.my-example-blogsite.com 를 point 하는 겁니다.
_setDomainName()
function이 정의 되었기 때문에 이 사이트의 sub-domain 에 대한 링크는 요구되지 않습니다.
.example-petstore.com 는 도메인으로서 어떤 subdomain들도 cookie access 가 가능합니다.
- Online Store Subdomain:
dogs.example-petstore.com
▸
Traditional (ga.js) syntax
primary domain 으로 link back 하는 부분을 configuration 할 필요는 없습니다 .왜냐하면 sub-domain 이 primary domain 과 같은 cookie 들을 share 하기 때문입니다.
- Blog Domain:
www.my-example-blogsite.com
▸
Traditional (ga.js) syntax
이 configuration은 도메인 name을 blog site 에 대한 top-level domain name으로 set 합니다. 이렇게 해서 나중에 당신이 이 블로그 사이트에 어떤 sub-domain들을 추가하게 되면 그 sub-domain 은 그 parent 와 cookie를 share 할 수 있게 됩니다. 당신은 특별히 다른 linked call 을 set up 할 필요가 없는 것이죠. 어쨌든 당신은 www.example-petstore.com에 대한 어떠한 form 이나 link에 대해서
_link()
와 _linkByPost()
methods를 사용하셔야 됩니다.
Tracking Across a Domain and Its Subdomains
위에 언급했듯이 Google Analytics의 디폴트 셋업은 single domain 에 대한 content와 visitor 데이터를 track 하기 위해 디자인 됐습니다. (예를 들어 www.example.com 같은 도메인이죠.) 이 의미는 여러분이 그 도메인과 sub-domain 을 관리한다고 면 두개의 도메인에 걸친 visitor data 를 share 하기 위해서는 tracking code를 수정해야 한다는 겁니다.
예를 들어 다음 세개의 도메인들을 .
www.example-petstore.com
dogs.example-petstore.com
cats.example-petstore.com
이를 위해서는 이 세개의 domain 들의 tracking code에 대해 아래와 같은 customization을 해야 합니다.
▸
Traditional (ga.js) syntax
이 3개의 site들에 대해 링크나 form 에 대해 어떤 adjustment 도 하실 필요가 없습니다. 당신이 도메인 이름을 top-level domain (e.g., example-petstore.com
) 으로 세팅했기 때문에 이 3개의 도메인은 모두 같은 쿠키를 공유합니다.
Tracking Between a Domain and a Sub-Directory
on Another Domain
흔히 발생할 수 있는 다른 하나의 일반적인 시나리오로는... 서로 다른 도메인에 있는 single domain 과 sub-directory 입니다. 아마 여러분의 웹사이트와 블로그 서비스의 sub-directory로 있는 여러분의 온라인 블로그에 대한 traffic 을 track 하고 싶은 경우 이 시나리오에 해당됩니다. 아래 샘플은 이 두 페이지들에 대한 tracking code를 어떻게 customization 해야 되는지를 보여 줍니다.
Main Website Domain: www.example.com
▸
Traditional (ga.js) syntax
Blog URL: www.blog-hosting-service.com/myBlog
▸
Traditional (ga.js) syntax
www.example-petstore.com 에서 shopping cart 웹사이트로 가는 form submission에 대해서는
_linkByPost()
method 를 사용해서 shopping cart site 로 가는 HTTP POST 를 거쳐 방문자의 쿠키 데이터와 traffic을 받습니다. _setAllowLinker()
method 는 target site를 가리키는데요, 일반적인 유저 세션 정보가 아닌 POST 데이터로 부터 쿠키 정보를 읽는데 사용됩니다. 이런식으로 하나의 도메인에서 다른 도메인으로 쿠키 데이터를 pass 할 수 있습니다. 그러면 여러분의 온라인 쇼핑몰에서 쇼핑카트로 가는 방문자의 세션을 그대로 유지할 수 있습니다.
이와 비슷하게 온라인 쇼핑몰에서 쇼핑카트로 가는 어떤 links 들에 대해서 visitor data를 transfer 하려면 _link() function을 사용하시면 됩니다.
Tracking Across iFrames
도메인들가의 transfer 가 있는 SIte 안에서 domain들이 새 윈도우에서 열리거나 iFrame으로 content 를 보여줄 수 있습니다. 이럴 경우 한 도메인에서 다른 도메인으로방문자와 campaign 쿠키를 transfer 하기 위해 _getLinkerUrl()
method 를 사용할 수 있습니다. 예를 들어 여러분 페이지에 iFrame 이 있는데 여기에 www.my-example-iframecontent 에 호스트된 content 가 display 된다고 합시다.
www.example-parent.com 에 있는 iFrame 의 parent page 로부터 방문자 정보를 transfer 하기 위해 iFrame 을 로드하는 Javascript 를 사용하고 쿠키안에 있는 정보를
_getLinkerURL() method 를 사용해서 pass 합니다.
다음 예제는 linking function 에 대해서만 다루는데요 cross-domain
tracking이 두 도메인에 대해 tracking 정보 일부를 다루도록 configure 된 경우입니다.
▸
Traditional (ga.js) syntax
Configuring iFrame Tracking for Internet Explorer
parent page 바깥의 다른 도메인에 있는 iFrame content 는 third-party content로 취급됩니다. Internet Explorer 6 이상의 버전에서의 디폴트는 first-party site에 third-party 웹사이트에 대해 first-party site에 쿠키를 저장하지 못하도록 합니다.
이렇게 되면 iFrame된 페이지에 대해 Analytics tracking 을 하려면 Internet Explorer 에 대해서 별도로 특별한 configuration 을 해야 합니다. iFrame 에 있는 웹페이지에 대해 여러분은 privacy preferences configuration 을 해야 합니다. 아래 방법들 중 한가지를 사용해서 hosted page들에 대해 privacy preferences 를 셋업실 수 있습니다.
- 포함된 site의 페이지에 대해 특별히 "Platform for
Privacy Preferences" (P3P) HTTP header를 include 한다.
- 포함된 site의 페이지에 대해 P3P XML manifest 를 제공한다.
좀 더 자세한 정보를 원하시면 아래 자료들을 참조하세요.
Tracking a Single Subdirectory
큰 도메인의 single sub-directory 에 대해 Analytics tracking 을 제한해야하는 경우도 있습니다. 두 가지 일반적인 상황을 예로 들어 보면요.
- 오직 sub-directory 로만 access 합니다. 예를 들어 ecommerce hosting service 를 사용하는 경우가 되겠습니다.
- sub-directory에 대해 제한적으로 tracking 하기를 원합니다. 예를 들어 Analytics tracking을 사용하는 회사 웹사이트에 project 를 launch 했을 경우죠.
블로그 서비스를 제공하는 큰 website host 의 일부분에 여러분의 블록가 있고 여기서 방문자 정보를 track 하는 Analytics account 에 대한 profile 이 있다고 가정합니다. 여러분의 사이트는 www.example.com/myBlog/ 같은 주소를 갖습니다. 다른 블로그들은 여러분의 블로그와 별도의 싸이트 입니다. 이 경우 그 블로그페이지와 그 sub-directory 에만 해당 정보를 필요로 하겠죠. 여러분 블로그에 대한 정보만 tracking 하도록 셋업하려면
여러분의 tracking code에 _setCookiePath()
function 을 사용해야 합니다.
▸
Traditional (ga.js) ayntax
이렇게 한번 셋업 되면 오직 sub-directory 에 대한 visitor와 campaign 데이터만 display 될 것입니다. 그 이유는 쿠키 경로 때문인데요. 이 쿠키경로가 www.example.com 의 root directory 가 아닌 sub-directory로 세팅 됐기 때문이죠. 이렇게 되면 당신의 프로파일은 당신 쇼핑몰에 대해서만 유니크하게 쿠키를 셋업 할 것입니다.
이 시나리오에서는 _setCookiePath()
function을 사용하는 것이 가장 좋은 방법인것 같습니다. 이렇게 하지 않으면 여러분 레포트에는 다음의 두가지 영향이 끼칠 겁니다.
- Other Analytics account cookies set on
www.example.com
can be shared by your account.
new 와 returning 같은 visitor statistics 들의 방문 시각과 방문 횟수가 다르게 나올 겁니다. 그리고 여러분의 방문자 세션 쿠키들도 www.example.com 의 다른 쇼핑몰에 영향을 줄 수 있습니다.
- Your reports might reflect campaign details from another part
of the site.
예를 들어 방문자가 같은 도메인의 다른 사이트(www.example.com/theirBlog) 로 가는 email campaign 을 클릭했다고 합시다. 이 경우 방문자 쿠키의 referral 정보는 Latest News on Blogging이라는 이름의 campaign 으로 세팅 될 겁니다. 나중에 같은 방문자가 구글에서 검색을 해서 여러분 사이트를 구글에서 클릭을 하고 여러분 블로그의 어떤 물건을 구매했습니다. 검색 결과에 ad 와 email campaign 정보가 계속 붙게 될 겁니다. 이럴 경우 그 구매한 상품에 대해서는 Latest News on Blogging campaign 이 그 구매를 이끌었다고 기록 될 겁니다. 왜냐하면 여러분 온라인 쇼핑몰의 _utm
z cookie 가 여러분 쇼핑몰 경로로 unique 하게 관리되지 않기 때문입니다.
여러분 쇼핑몰의 경로에만 방문자 쿠키를 제한하면 www.example.com 의 다른 곳에 있는 다른 쇼핑몰에 대한 캠페인과 세션은 여러분의 report 에 포함되지 않을 겁니다.
(웹브라우저와 쿠키에 대해 좀 더 알고 싶으시면 Cookies 를 참조하세요.)
Other Subdirectory Tips
- 만약 여러분이 sub-directory 에 대한 visitor와 referral traffic 을 tracking 한다면 오직 그 sub-directory 에 대한 content 에 대해서만 적용 되도록 그 sub-directory 를 Include filter 에 셋업 하시고 싶을 겁니다. 좀 더 자세한 사항에 대해서는 pre-defined filter article 을 참조하세요.
- 만약 여러분의 도메인에 sub-directory tracking 을 셋업하려면 Analytics tracking 이 root path (e.g. /)와 이 아래의 페이지들 에 대해 disabled 돼 있어야 합니다. 예를 들어 www.example.com/index.html 은 Analytics tracking 이 적용되지 않아야 합니다. (여러분이 subdirectory들을 별도로 track 하기를 원하는 경우). 만약 root path 에 대한 tracking 이 disable 되지 않았다면 한 페이지에 대해 두 종류의 쿠키가 세팅 될 겁니다. 하나는 subdirectory 이고 또 다른 하나는 top-level 도메인이 되겠죠.
Tracking Across Two Sub-directories on the Same Domain
한 도메인에 있는 여러개의 subdirectory 들을 track 하고 싶을 때도 있을 겁니다. 그리고 그 상위에 있는 (larger domain)에는 접근할 수 없는 경우입니다. 예를 들어 두개의 온라인 쇼핑몰과 쇼핑카트를 아래와 같이 가지고 있을 수 있습니다.
www.example-commerce-host.com/myStore/
www.example-commerce-host.com/myCart/
쇼핑몰에서 쇼핑카트로 가는 유저 세션과 campaign data를 track 하고 싶다면 이를 위해서는 두가지 방법을 사용해야 합니다.
아래 예제에서 쇼핑몰에서 쇼핑카트로 가는 유저 세션과 캠페인 데이터에 대한 track 을 할 수 있는 방법을 보여 줄 겁니다.
▸
Traditional (ga.js) syntax
이 경우 유니크한 쿠키가 해당 도메인에 대해 세팅 될 겁니다. 제공된 첫번째 디렉토리에 대한 접근시 쿠키가 만들어 질 것이고 같은 쿠키 데이터가 두번째 디렉토리로 copy 될 겁니다. 왜냐하면 두개의 사이트 모두 같은 도메인에 있기 때문이죠. 이 두개의 디렉토리 간에 어떤 링크나 form data 와 관련해서 작업하실 필요가 없습니다.
Key Components to Cross-Domain Tracking
This section will help you troubleshoot your cross-domain tracking setup by
providing detailed information on the key components and how best to use them.
이 섹션에서는 여러분의 cross-domain tracking setup 에 대하 troubleshoot 하는 것을 도와 줄 겁니다.
Profiles
cross-domain tracking을 셋업 할 때 여러분의 프로파일에 아래 사항들을 제대로 수행했는지 한번 더 확인하세요.
- Set up a master profile for your primary domain without filters.
cross-domain tracking 을 하기 위해 우선 primary domain 에 대해 master profile 을 셋업할 것을 권고 합니다. 이 프로파일은 filter 없이 생성하세요. 이렇게 하면 primary domain에 대한 기본적인 historical data를 확보할 수 있습니다. 그래야지 여러분이 cross-tracking profile을 셋업하고 나서 에러가 있는지 없는지 확인할 수 있겠죠.
- Create a profile especially for cross-domain tracking and re-use
your tracking code.
프로파일을 셋업하고 primary domain 에 대한 트래킹 코드를 retrieve 하고 난 후 다른 모든 웹 프로퍼티들에 대해 같은 트래킹 코드를 사용하세요. 이렇게 하면 configuration에 제대로 셋업 될 겁니다. 그리고 그렇게 하면 모든 웹 프로퍼티들에 대한 historical data 도 가질 수 있게 됩니다. master profile 에 대해 위에서 권고한 셋업을 했다면 마스터 프로파일에 있는 같은 트래킹코드를 사용해서 promary domain 에 대한 프로파일을 추가하는 것은 간단한 일입니다. 여러분이 lint 하기를 원하는 다른 모든 웹 프로퍼티들도 모두 같은 트래킹코드를 가지고 있어야 합니다.
- Modify your cross-domain profile with a filter to show the full domain
in your content reports.
domain linking established 가 되고 나면 content reports 에 오직 URI request 만 보게 될 겁니다. 그리고 top-level 이나 sub-domain에 대한 request 는 안 보이죠. 예를 들어 다음 페이지들에 대한 visits 에 대해 알아보죠.
— http://www.example.com/index.php
and
another page on
— http://sub.example.com/more.php
이 경우 report 는 아래와 같이 보여질 겁니다.
— index.php
— more.php
어떤 페이지가 어떤 도메인에 속해 있는지 구분할 수 가 없죠. 페이지 report 에 domain 을 보이도록 하기 위해서는 page URL의 모든 components를 포함하는 filter를 세팅해 주세요.
- In the Profile Settings page, click the Add Filter link.
- Choose Add New Filter and provide the filter a name.
- Choose Custom Filter and select Advanced on the Filter type settings.
- Under Advanced settings:
- FieldA should be set to Hostname
- FieldB should be set to Request URI
- Set the values for both Field A and Field B to
(.*)
, which is
an expression that captures all characters. - Set the Output To --> Constructor option to Request URI and provide
$A1$B1
as the value for that choice.
Your reports will now show:
— www.example.com/index.php
— sub.example.com/more.php
Cookies: Necessary to Transferring Visitor Data
두개의 도메인이 같은 visitor data(세션과 visitor type)를 공유하기 위해서는 같은 쿠키 정보를 copy 하거나 share 할 수 있어야 합니다. 그리고 아래 내용을 기억해 두세요.
A session from one domain can only be transferred to another domain via a properly configured click or form submission, or via _getLinkerURL
.
이 3개의 methods를 통해 하는 쿠키 데이터 pass 는 single session 하의 두개의 페이지 뷰를 연결합니다. 즐겨찾기같은 것을 이용해서 만약에 유저가 두개의 사이트를 별도로 visit 한다면 (같은 프로파일을 tracking 하는 경우), 이 visits는 separate session으로 간주 될 겁니다. 이 시나리오에서는 linking methods 가 invoke 되지 않습니다. 그러므로 해당 유저에 대해 initiating session 을 할 방법이 없습니다.
cross-domain tracking을 제대로 이해하려면 쿠키가 여러 필드들에 의해 identified 되고 디폴트로 도메인들간에 share 하지 않는 다는 것을 잘 이해하면 도움이 될 겁니다.
디폴트로 cookie sharing 은 Analytics에서 자동으로 turn off 됩니다. 왜냐하면 많은 경우 도메인들강에 같은 쿠키를 sharing 하는 것은 바람직하지 않기 때문이죠.
Cookie Reference에 있는 Significance of Cookie Identification and Expiration를 보세요. 또한 Analytics는 디폴트로 쿠키에 대한 integrity check를 추가합니다.
_setDomainName('yourDomainName')
What it does.
This method sets the domain field of the cookie to the string provided in the
parameter. With this method,
you can control the domain name used by the cookie. You
will ONLY have to set up linking between top-level domains because sub-domains
will share the same cookies with their parents.
When to use it.
Use this when you want to treat
top- and sub-domains as one entity and track in the same
profile. Also use this when you want to track across multiple
top-level domains AND their sub-domains. In this case, you will
need to using linking between the top-level domains, but not between
the top-level domains and their sub-domains.
When not to use it.
If you are tracking a single domain, you do not need to
explicitly set the domain name.
========= o ========== o ======== o ========
저의 경우에는
www.example.com/except1
www.example.com/except2
www.example.com/except3
www.example.com/except4
이 중에 except1 만 별도로 관리하고 나머지는 다 같이 관리해야 하는데...
여기에 맞는 시나리오는 못 찾겠네요.
다시 한번 자세히 보고 방법을 찾아봐야겠네요....