Ads
광고 통합 — Google AdSense + 자체 광고(House Ads) + ads.txt + 정� 페이지 자동 차단
상태
| 항목 | 값 |
|---|---|
| Layer | composite |
| Tier | L1 |
| Status | released |
| Version | 1.0.0 |
| 가격 | Free (free) |
| **카� | |
| �고리** | Monetization |
개요
개요
Ads 는 multi-saas-kit 의 L1 광고 통합 Plugin �
니다. Google AdSense 와 자체 광고(House Ads)를 단일 모듈로 통합 운영합니다.
기능
Google AdSense
-
Site / Tenant 단위 publisher_id 관리
-
동적
/ads.txt응답 (도메인별 publisher 매칭) -
Auto Ads 자동 코드 삽�
-
수동 Ad Slot ID (header / sidebar / inline / footer 4� )
자체 광고 (HouseAds)
- Advertiser / Campaign / Creative / Placement Filament Resource
- 활성 캠페인 자동 status 전이 (시작/� 료/예산 소진)
- HouseAds 우선 + AdSense fallback (Slot 단위)
정�
(PageGuard)
- AdSense 정�
상 광고 금지 페이지 자동 차단:
- Filament 패널 (
/platform,/saas,/tenant,/team) - 인증 (
/login,/2fa/*,/forgot-password) - 결제/체크아웃 (
/checkout/*,/billing/*) - 약관/개인정보 (
/legal/*,/privacy/*,/terms/*) - 에러 페이지 (404, 500, 503)
- Filament 패널 (
추적
- Impression (async queue, request_id dedup)
- Click redirect endpoint (sync, IP 익� 화 + UA 해시)
- 일별 CTR 위젯
설정 단위 (ADR-024 + ADR-027 정합)
1순위: Tenant.settings.ads (Custom Domain 보유 Tenant 만)
2순위: app/Sites/{Name}/site.json 또는 SaasProduct.settings.ads
3순위: 비활성 (광고 미�
�출)
ads.txt 는 도메인 단위로 응답 — Custom Domain 보유 Tenant 는 자체 publisher_id 사용 가능.
사용 예시
{{-- 사이트 layout 어디에서나 --}}
<x-ads::slot name="header" />
<x-ads::slot name="sidebar" />
<x-ads::slot name="inline" />
<x-ads::slot name="footer" />
슬롯 결정 흐름:
- PageGuard — 시스�
� 페이지면
''반환 - Site/Tenant slot toggle — false 면
''반환 - path blacklist — 매칭하면
''반환 - PlacementResolver — 활성 HouseAds Campaign 있으면 � �출 + impression 기록
- AdSenseService — publisher_id+slot_id 있으면 AdSense � �출
- fallback — 빈 영역
의존성
core: >=1.18.0(SaaS 모듈 표준 + Custom Domain)
관련 ADR
- ADR-024 SaaS Module Standard
- ADR-027 Tenant-Aware Login URL / Custom Domain
- ADR-039 Plugin Scope Principle
- ADR-041 Ads Plugin
라이선스
MIT
데모
- Platform 관리자 패널 — 카탈로그 메타 🔒 로그인 필요
- 사용 예시
🛒 Plugin Store에서 보기: store.codebase.how/plugins/ads