# 게스트 게이트 테마 컴포넌트

**URL:** https://meta.discourse.org/t/guest-gate-theme-component/225107
**Category:** Theme component
**Created:** [4월 23, 2022, 8:31오후 UTC](https://meta.discourse.org/t/guest-gate-theme-component/225107 "2022-04-23T20:31:54Z")
**Posts on this page:** 2
**Page:** 9

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [8월 22, 2026, 2:06오후 UTC](https://meta.discourse.org/t/guest-gate-theme-component/225107/162 "2026-08-22T14:06:07Z")

</div>

Guest Gate v2.0에 GTM(Google Tag Manager) 지원 및 유연한 커스텀 이벤트 로깅을 갖춘 분석 추적 시스템을 구현했습니다.

#### 추가된 설정

- **`enable_analytics`** _(기본값: 비활성화)_: 요청에 따라 전체 추적 기능을 켜거나 끕니다.

- **`analytics_debug_logging`** : 활성화 시 모든 추적 이벤트를 브라우저 콘솔에 직접 기록합니다. GTM 트리거를 구성하는 설정 단계에서 특히 유용합니다.

#### 핵심 기능

전용 헬퍼 모듈(`guest-gate-analytics.js`)이 이벤트 디스패치를 처리합니다. 모든 추적 이벤트는 동시에 두 가지 위치로 전송됩니다:

1. **`window.dataLayer.push(...)`**: 사이트에 GTM 및 Google Analytics 4(GA4)가 활성화되어 있다면 자동으로 수집됩니다.

2. **`discourse-guest-gate:analytics`** _(커스텀 브라우저 이벤트)_: 추가적인 코드 수정 없이 Matomo, Plausible 또는 커스텀 웹훅과 같은 제3자 도구와 통합할 수 있습니다.

#### 추적되는 이벤트

- **`guest_gate_shown`** _(모달이 표시될 때 발생)_

- **`guest_gate_click`** _(방문자가 모달과 상호작용할 때 발생)_

#### 개인정보 보호 및 데이터 보호

- **개인 식별 정보(PII)는 수집하거나 전송하지 않으며**, 위에 나열된 최소한의 운영 메타데이터만 수집합니다.

* * *

곧 출시 예정…🚀

[\> ./support --coffee](https://meta.discourse.org/u/don)

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [8월 29, 2026, 11:06오전 UTC](https://meta.discourse.org/t/guest-gate-theme-component/225107/163 "2026-08-29T11:06:31Z")

</div>

# Guest Gate v2.0 - 주요 업데이트

꽤 오랜 시간의 작업을 거쳐 **Guest Gate v2.0** 을 출시하게 되어 기쁩니다. 🎉

Guest Gate는 원래 [Guest Gate Sign Up Popup 플러그인](https://meta.discourse.org/t/guest-gate-sign-up-popup-plugin/56625/)에 기반한 비교적 단순한 테마 컴포넌트였습니다. 이를 통해 특정 수의 토픽을 본 후 익명 방문자에게 회원가입이나 로그인을 유도하거나 요구할 수 있었습니다.

시간이 지남에 따라 컴포넌트는 상당한 규모로 성장했고, 원래의 구현 방식은 확장하기가 점점 어려워졌습니다.

따라서 v2.0은 단순한 리팩토링이나 시각적 업데이트가 아닙니다. 완전히 새로운 트리거 시스템, 더 나은 커스터마이징, 선택적 분석 기능, 그리고 내부 구조의 여러 가지 개선 사항을 도입했습니다.

## v2.0의 새로운 기능

### 여러 가지 트리거 유형

Guest Gate는 이제 토픽/페이지 뷰에 국한되지 않습니다.

이제 다음 기준으로 게이트를 트리거할 수 있습니다:

- **페이지 뷰**

- **시간**

- **스크롤 깊이**

- **라이트박스/이미지 열기**

- **모든 것** - 구성된 트리거 조건 중 첫 번째가 충족되면 게이트를 트리거합니다

각 트리거에는 자체적으로 설정 가능한 임계값이 있습니다.

또한 트리거와 모달 표시 사이의 지연 시간도 설정할 수 있습니다.

이를 통해 다양한 유형의 게이트를 만들 수 있습니다. 예를 들어:

> 3회 페이지 뷰 후 게이트 표시.

또는:

> 60초 후 게이트 표시.

또는:

> 방문자가 페이지의 70%를 스크롤했을 때 게이트 표시.

## 반복 동작

기존의 무작위 페이지 뷰 동작은 적절한 반복 시스템으로 확장되었습니다.

다음 중 하나를 선택할 수 있습니다:

- **반복 트리거:** 구성된 트리거가 발동될 때마다 게이트를 표시합니다.

- **무작위 페이지 뷰:** 무작위 수의 페이지 뷰 후 게이트를 표시합니다.

- **세션당 1회:** 브라우저 세션 동안 최대 1회만 게이트를 표시합니다.

기존의 “1회만 표시” 동작도 하위 호환성을 위해 유지됩니다.

## 더 나은 모달 커스터마이징

v2.0은 모달 자체에 대한 더 많은 제어를 추가합니다.

이제 다음을 설정할 수 있습니다:

- 모달 크기: 컴팩트, 표준 또는 와이드

- 본문 정렬

- 푸터 정렬

- 제목 표시 여부

- 제목 위치

- 로그인 버튼 스타일 및 아이콘

- 회원가입 버튼 스타일 및 아이콘

커스텀 게이트도 다음과 같은 더 나은 제어를 통해 개선되었습니다:

- 이미지 정렬

- 이미지 너비

- 이미지 대체 텍스트

- 헤딩 정렬 및 색상

- 텍스트 정렬 및 색상

- 배경색

- 푸터 및 링크 색상

커스텀 이미지는 이제 선택 사항이며, 지연 로딩(lazy loading)과 디코딩 힌트도 사용합니다.

## 분석(Analytics)

Guest Gate v2.0에는 프라이버시를 고려한 선택적 분석 기능이 포함되어 있습니다.

활성화되면 Guest Gate는 다음을 추적합니다:

- 게이트 노출 횟수

- 트리거 이유

- 페이지 경로

- 로그인 클릭

- 회원가입 클릭

- SSO 작업

- 닫기(Dismiss) 작업

이벤트는 `window.dataLayer`를 통해 노출되며, 브라우저 이벤트인 `discourse-guest-gate:analytics`로도 분기됩니다.

이를 통해 Guest Gate를 **Google Analytics, Google Tag Manager, Matomo** 또는 커스텀 분석 구현과 같은 분석 및 태그 관리 플랫폼과 통합할 수 있습니다.

Guest Gate는 개인 데이터를 수집하지 않습니다.

분석 기능은 기본적으로 비활성화되어 있습니다.

## 기존 설치 환경

v2.0의 중요한 부분 중 하나는 기존 설정을 수동으로 다시 만들 필요가 없다는 것입니다.

구버전의 Guest Gate 설정을 v2에 해당하는 설정으로 마이그레이션하기 위한 설정 마이그레이션이 추가되었습니다.

이에는 다음과 같은 설정이 포함됩니다:

- `max_guest_topic_views`

- `dismissable_false`

- `gate_show_when_thumbnail_clicked`

따라서 업그레이드 후에도 기존 설정이 계속 작동해야 합니다.

이 컴포넌트는 이제 공식적으로 **Discourse 3.2.0 이상** 을 요구합니다.

## 왜 v2.0인가?

원래의 Guest Gate는 주로 익명 방문자가 볼 수 있는 토픽 수를 제한하는 방식으로 설계되었습니다.

v2.0의 목표는 이를 훨씬 더 유연하게 만드는 것입니다.

Guest Gate는 이제 원래의 사용 사례를 지원하면서 일반적인 **방문자 전환 및 참여 게이트** 로 사용될 수 있습니다.

예를 들어, 방문자가 다음을 한 후에 가입을 유도하는 데 사용할 수 있습니다:

- 여러 개의 토픽 읽기

- 사이트에 일정 시간 머무르기

- 기사를 스크롤하기

- 이미지 열기

- 구성된 조건 중 어떤 조합을 충족했는지

* * *

이것은 꽤 상당한 재작성이었으므로, 아직 개선될 수 있는 부분이 있을 수 있습니다.

수년간 Guest Gate를 사용하시고, 테스트하시며 피드백을 주신 모든 분들께 감사드립니다. ❤

OP(원문 게시글)도 업데이트했습니다.

**Guest Gate v2.0이 이제 사용 가능합니다.** 🚀

> <https://github.com/VaperinaDEV/discourse-guest-gate-theme-component/pull/26>
>
> \### What's changed
> 
> \* Add page view, time, scroll, lightbox and combined gate …triggers
> \* Add configurable trigger thresholds and modal display delay
> \* Add repeat modes including random page views and once-per-session
> \* Replace legacy dismissable handling with the \`dismissable\` setting
> \* Add modal size, body alignment and title positioning options
> \* Improve custom gate image handling and accessibility
> \* Add settings migration for existing Guest Gate configurations
> \* Add privacy-conscious analytics with \`dataLayer\` and custom events
> \* Track gate impressions, Login, Sign Up and dismiss actions
> \* Modernize the Discourse initializer and component implementation
> \* Improve Discourse Connect and authentication button handling
> \* Update styling for the new modal options
> \* Update component metadata and require Discourse 3.2.0+
> \* Remove the obsolete email signup translation
> 
> This is a major update that expands Guest Gate from a simple topic-view gate into a configurable visitor conversion and engagement gate.

[\> ./support --coffee](https://meta.discourse.org/u/don) ❤

[이전 페이지](https://meta.discourse.org/t/guest-gate-theme-component/225107.md?page=8)
