웹 프로젝트에 구글 애널리틱스를 적용할 때, 보통 운영 환경에서만 작동하도록 설정하고 싶을 때가 많습니다.
특히 로컬 개발환경에서는 구글 애널리틱스 스크립트가 불필요하거나, 테스트 시 트래픽에 영향을 주지 않도록 제외하는 게 좋죠.
아래처럼 구글 애널리틱스 스크립트를 템플릿에 직접 넣으면, 로컬에서도 항상 스크립트가 로드됩니다.
<script async src="https://www.googletagmanager.com/gtag/js?id=******"></script>
<script src="/js/common/google-analytics.js"></script>
개발 중에는 구글에 쓸데없는 데이터가 쌓이거나, 스크립트로 인한 성능 문제, 디버깅 방해 등이 발생할 수 있습니다.
Spring Boot에서는 환경마다 서로 다른 프로파일(environment profile)을 설정할 수 있습니다.
예를 들어 local, dev, prod 등의 프로파일이 있죠.
Thymeleaf 템플릿에서 이 프로파일을 활용해, 운영환경이 아닐 때 구글 애널리틱스 스크립트가 포함되지 않도록 제어할 수 있습니다.
템플릿에 아래처럼 조건문을 추가하세요.
<th:block th:if="${!@environment.acceptsProfiles('dev')}">
<script async src="https://www.googletagmanager.com/gtag/js?id=*****"></script>
<script src="/js/common/google-analytics.js"></script>
</th:block>
@environment.acceptsProfiles('dev') 는 현재 활성화된 프로파일이 dev 인지 체크합니다.!를 붙여서 로컬이 아닐 때만 스크립트가 렌더링됩니다.Environment 빈은 기본 등록되어 있으니 별도 설정은 보통 필요 없습니다.dev 대신 프로젝트에서 사용하는 실제 로컬 프로파일 이름을 넣어주세요.이렇게 하면 불필요한 로컬 데이터 수집을 막고, 개발 편의성을 높일 수 있습니다.