From f8b61e6745b4673f5e7edfe0f3e83cff958067aa Mon Sep 17 00:00:00 2001 From: Andrew Yim Date: Sat, 21 Mar 2026 01:35:25 +0900 Subject: [PATCH] docs(gtm): add old vs new variable comparison, les subdomain note - Two-variable comparison table (Path vs URL based) - Gotcha: new subdomain requires updating 14+ regex rules - /timesale/, /campaign/ marked as placeholder paths Co-Authored-By: Claude Opus 4.6 (1M context) --- .../60-gtm-audit/code/docs/common_issues.md | 20 ++++++++++++++++++- .../61-gtm-manager/code/docs/common_issues.md | 20 ++++++++++++++++++- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/custom-skills/60-gtm-audit/code/docs/common_issues.md b/custom-skills/60-gtm-audit/code/docs/common_issues.md index eafa371..90e3e9c 100644 --- a/custom-skills/60-gtm-audit/code/docs/common_issues.md +++ b/custom-skills/60-gtm-audit/code/docs/common_issues.md @@ -254,7 +254,8 @@ Page URL patterns include domain matching: | `/dining/` | 다이닝 이용 | Dining | | `/facilities/`, `/meeting/`, `/fitness/` | 부대시설 소개 | Facilities | | `/package/`, `/event/` | 이벤트 \| 패키지 조회 | Events & Packages | -| `/specialEvent/`, `/timesale/`, `/campaign/` | 캠페인 \| 프로모션 | Campaign & Promotion | +| `/specialEvent/` | 캠페인 \| 프로모션 | Campaign & Promotion | +| `/timesale/`, `/campaign/` *(placeholder — not actual paths yet, replace when specific paths are registered)* | 캠페인 \| 프로모션 | Campaign & Promotion | | `/activity/` | 액티비티 소개 | Activities | | `/step[0-4]` | 룸, 패키지 예약 프로세스 | Booking Process | | `/resve/dining/` | 다이닝 예약 프로세스 | Dining Booking | @@ -266,6 +267,23 @@ Page URL patterns include domain matching: | `/upload_file/event/html/` | 캠페인 \| 프로모션 | Campaign & Promotion | | Default | Other | Other | +### Two Content Group Variables — Old vs New (JHR) + +The JHR container has two content group variables for menu categories: + +| | **Contents Group 2** (ID:1234) | **Contents Group new** (ID:1826) | +|---|---|---| +| Input | `{{Page Path}}` | `{{Page URL}}` | +| Rules | 20 | 24 (replacement) | +| Domain matching | No — path only | Yes — full URL with subdomain alternation | +| Subdomain coverage | N/A | `www\|app\|jpg\|gjb\|gjj\|grp\|les\|\.` | +| Cross-domain | No | Yes — booking, josuntns, lounge subdomains | +| Mobile path | `(\/m)?` prefix | `(\/m)?` prefix within URL pattern | + +**"Contents Group new" (ID:1826) is the replacement** — it handles subdomains (booking, T&S, lounge, les) that the old path-based variable cannot distinguish. When auditing, check which variable is referenced in the GA4 config tag — the newer one should be used. + +**Gotcha — adding new subdomains**: When a new hotel brand subdomain launches (e.g., `les.josunhotel.com`), the subdomain alternation group `(www|app|...|les|\.)` in ALL main-domain rules must be updated. This affects 14+ rules in the URL-based variable. + ### Audit Checklist for Content Grouping - [ ] Run `dtm var info ` to dump the full regex table diff --git a/custom-skills/61-gtm-manager/code/docs/common_issues.md b/custom-skills/61-gtm-manager/code/docs/common_issues.md index eafa371..90e3e9c 100644 --- a/custom-skills/61-gtm-manager/code/docs/common_issues.md +++ b/custom-skills/61-gtm-manager/code/docs/common_issues.md @@ -254,7 +254,8 @@ Page URL patterns include domain matching: | `/dining/` | 다이닝 이용 | Dining | | `/facilities/`, `/meeting/`, `/fitness/` | 부대시설 소개 | Facilities | | `/package/`, `/event/` | 이벤트 \| 패키지 조회 | Events & Packages | -| `/specialEvent/`, `/timesale/`, `/campaign/` | 캠페인 \| 프로모션 | Campaign & Promotion | +| `/specialEvent/` | 캠페인 \| 프로모션 | Campaign & Promotion | +| `/timesale/`, `/campaign/` *(placeholder — not actual paths yet, replace when specific paths are registered)* | 캠페인 \| 프로모션 | Campaign & Promotion | | `/activity/` | 액티비티 소개 | Activities | | `/step[0-4]` | 룸, 패키지 예약 프로세스 | Booking Process | | `/resve/dining/` | 다이닝 예약 프로세스 | Dining Booking | @@ -266,6 +267,23 @@ Page URL patterns include domain matching: | `/upload_file/event/html/` | 캠페인 \| 프로모션 | Campaign & Promotion | | Default | Other | Other | +### Two Content Group Variables — Old vs New (JHR) + +The JHR container has two content group variables for menu categories: + +| | **Contents Group 2** (ID:1234) | **Contents Group new** (ID:1826) | +|---|---|---| +| Input | `{{Page Path}}` | `{{Page URL}}` | +| Rules | 20 | 24 (replacement) | +| Domain matching | No — path only | Yes — full URL with subdomain alternation | +| Subdomain coverage | N/A | `www\|app\|jpg\|gjb\|gjj\|grp\|les\|\.` | +| Cross-domain | No | Yes — booking, josuntns, lounge subdomains | +| Mobile path | `(\/m)?` prefix | `(\/m)?` prefix within URL pattern | + +**"Contents Group new" (ID:1826) is the replacement** — it handles subdomains (booking, T&S, lounge, les) that the old path-based variable cannot distinguish. When auditing, check which variable is referenced in the GA4 config tag — the newer one should be used. + +**Gotcha — adding new subdomains**: When a new hotel brand subdomain launches (e.g., `les.josunhotel.com`), the subdomain alternation group `(www|app|...|les|\.)` in ALL main-domain rules must be updated. This affects 14+ rules in the URL-based variable. + ### Audit Checklist for Content Grouping - [ ] Run `dtm var info ` to dump the full regex table