Receber por email
← Voltar para o catálogo

cm-growth-hacking

Bottom-sheet and popup growth system: booking CTAs, calendars, lead capture, surveys, re-engagement, with CRO tracking hooks. Zero-deps; works static or dynamic sites. Works with cm-booking-calendar, cm-ads-tracker, cm-google-form, cm-readit, cm-ux-master.

46estrelas
Atualizado há 4 meses

Ver no GitHub ↗

Como adicionar

/plugin marketplace add tody-agent/codymaster

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/cm-growth-hacking-mpsuweei/svg)](https://www.skillteca.com.br/skills/cm-growth-hacking-mpsuweei)
#ai

Skills relacionadas

Ver todas de Marketing →

Alerta por categoria

Receba novas skills de Marketing toda segunda

1 email curto, só com as skills novas de Marketing. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

CM Growth Hacking

Bottom Sheet + Calendar + Trigger + Tracking = Growth Hacking Engine.
Đa ngành, đa mục đích, zero dependencies.
1 skill = mọi growth hacking pattern bạn cần.

🎯 When to Use

| Trigger | Action | |---------|--------| | User says "bottom sheet", "popup" | Activate — start Phase 1 | | User says "đặt lịch popup", "booking bottom sheet" | Activate — focus booking sheet | | User says "lead capture", "exit intent" | Activate — focus lead capture | | User says "nhắc lịch", "google calendar", "apple calendar" | Activate — focus calendar CTA | | User says "flash sale popup", "countdown" | Activate — focus promo sheet | | User says "survey", "đánh giá", "feedback" | Activate — focus survey sheet | | User says "tăng conversion", "giảm bounce" | Activate — explain + build |

📖 Selective Reading Rule (MANDATORY)

| File | Status | When to Read | |------|--------|--------------| | [bottom-sheet-engine.md](bottom-sheet-engine.md) | 🔴 REQUIRED | Any bottom sheet implementation | | [trigger-system.md](trigger-system.md) | 🔴 REQUIRED | Setting up when/how sheets appear | | [calendar-integration.md](calendar-integration.md) | ⚪ Optional | When sheet includes calendar CTA | | [tracking-events.md](tracking-events.md) | ⚪ Optional | When tracking engagement events |

🔴 Always read bottom-sheet-engine.md + trigger-system.md first.

🧭 Quick Decision Tree

"I need an engagement popup"
│
├─ Booking / Appointment
│  └─ bottom-sheet-engine + calendar-integration + cm-booking-calendar
│     └─ Form → Sheet: cm-google-form
│     └─ Post-submit: Calendar CTA (GCal + ICS)
│
├─ Lead Capture / Exit Intent
│  └─ bottom-sheet-engine + trigger-system (exit-intent)
│     └─ Form → Sheet: cm-google-form
│     └─ Tracking: cro_lead_capture
│
├─ Flash Sale / Promo
│  └─ bottom-sheet-engine + trigger-system (timer)
│     └─ Countdown timer + CTA
│     └─ Optional: Calendar deadline
│
├─ Survey / Feedback
│  └─ bottom-sheet-engine + trigger-system (post-interaction)
│     └─ Star rating or NPS
│     └─ Form → Sheet: cm-google-form
│
├─ Event / Webinar Registration
│  └─ bottom-sheet-engine + calendar-integration
│     └─ Register → Add to Calendar
│     └─ Tracking: cro_event_register
│
├─ Re-engagement (Return Visitor)
│  └─ bottom-sheet-engine + trigger-system (return-visitor)
│     └─ "Welcome back" + personalized CTA
│
└─ Chat / Contact CTA
   └─ bottom-sheet-engine + trigger-system (scroll)
      └─ Zalo / Messenger / Hotline buttons

📋 6-Phase Workflow

Phase 1: DISCOVER → Scan site, detect industry, identify existing popups/forms
Phase 2: SOCRATIC GATE → Ask strategic questions (max 5)
Phase 3: CONFIGURE → Select engagement pattern + customize
Phase 4: BUILD → Generate bottom sheet + triggers + calendar + tracking
Phase 5: INTEGRATE → Wire to site + link skills
Phase 6: VERIFY → Test all interactions + tracking events
🔴 Rule: NEVER skip Phase 1 & 2. Always scan first, ask second.

Phase 1: DISCOVER

Scan the website to understand:

# Find existing popups/modals/sheets
grep -ri "modal\|popup\|bottom-sheet\|overlay\|dialog" --include="*.html" --include="*.astro" --include="*.css" .

# Find existing forms
grep -ri "data-form-type\|onsubmit\|<form" --include="*.html" --include="*.astro" .

# Find existing calendar code
grep -ri "VCALENDAR\|google.com/calendar\|\.ics\|VEVENT" --include="*.js" --include="*.html" .

# Find existing tracking
grep -ri "dataLayer\|fbq\|ttq\|gtag" --include="*.js" --include="*.html" .

Output: Discovery Report with detected industry, existing UI, and recommended pattern.

Phase 2: SOCRATIC GATE

🔴 MANDATORY. Ask ALL in ONE message. Max 5 questions.
  1. Mục tiêu chính — Bạn muốn popup/bottom sheet để làm gì? (đặt lịch / thu lead / khuyến mãi / survey / khác)
  2. Trigger — Khi nào hiện? (ngay khi vào trang / scroll X% / sau X giây / khi sắp thoát / click nút)
  3. Nội dung — Trong popup cần gì? (form / calendar CTA / countdown / rating / nút chat)
  4. Calendar — Có cần thêm Google Calendar / Apple Calendar không? Nhắc trước bao lâu?
  5. Tracking — Đang chạy ads platform nào? (Facebook / TikTok / Google / không)

Phase 3: CONFIGURE

Based on answers, select from references/engagement-patterns.md and build config:

const ENGAGEMENT_CONFIG = {
  type: 'booking',           // booking | lead | promo | survey | event | chat | reengagement
  trigger: {
    type: 'scroll',          // scroll | time | exit | click | return | interaction
    value: 0.3,              // scroll % or ms or selector
    delay: 0,                // additional delay after trigger
  },
  sheet: {
    size: 'standard',        // compact | standard | full
    title: 'Đặt Lịch Khám',
    icon: '📅',
    dismissible: true,
    swipeToDismiss: true,
  },
  calendar: {
    enabled: true,
    providers: ['gcal', 'ics'],  // gcal | ics | outlook
    reminderMinutes: [1440, 120], // 1 day + 2 hours before
    location: 'Google Maps URL',
  },
  tracking: {
    events: ['cro_sheet_shown', 'cro_booking_submit', 'cro_calendar_add'],
    conversionValue: 500000,
    currency: 'VND',
  },
  session: {
    dismissKey: 'eng_booking_dismissed',
    storage: 'sessionStorage',   // sessionStorage | localStorage
    maxShowPerSession: 1,
  }
};

Phase 4: BUILD

Read and use templates from templates/ directory:

| Template | Purpose | |----------|---------| | templates/bottom-sheet.css | Universal responsive bottom sheet CSS | | templates/bottom-sheet.js | BottomSheetEngine class — create, show, hide, swipe, stack | | templates/calendar-cta.js | Calendar button generators (GCal + ICS + device detection) | | templates/trigger-manager.js | TriggerManager class — scroll, time, exit, click triggers | | templates/tracking-events.js | DataLayer push helpers for engagement events |

Phase 5: INTEGRATE

Wire to Existing Skills

cm-growth-hacking (this skill)
│
├── UI Layer ──────────── templates/bottom-sheet.css + .js
│
├── Form Submit ───────── @skills/cm-google-form
│   └── submitToGoogleSheet() → success callback → show calendar CTA
│
├── Calendar Logic ────── @skills/cm-booking-calendar
│   └── calendar-engine.js (scheduling)
│   └── calendar-export.js (ICS + GCal deep link)
│   └── reminder-config.js (VALARM + industry patterns)
│
├── CRO Tracking ──────── @skills/cm-ads-tracker
│   └── dataLayer.push() → GTM → FB/TikTok/Google
│
└── Design Principles ─── @skills/cm-ux-master
    └── Color, typography, animation standards

Phase 6: VERIFY

| # | Test Case | Expected | |---|-----------|----------| | 1 | Bottom sheet opens | Slides up with animation | | 2 | Swipe down to dismiss | Sheet closes + state saved | | 3 | Trigger fires correctly | Sheet appears at configured trigger | | 4 | Form submit (if applicable) | Toast success → Calendar CTA appears | | 5 | Google Calendar click | New tab with pre-filled event | | 6 | ICS download click | .ics file downloads | | 7 | .ics on iOS | Opens Apple Calendar with reminders | | 8 | Tracking events fire | dataLayer shows correct events | | 9 | Session dismiss works | Sheet doesn't reappear after dismiss | | 10 | Mobile responsive | Sheet adapts to viewport | | 11 | Accessibility | aria-labels, focus trap, Escape key | | 12 | No conflict with existing UI | Doesn't break page layout |

❌ Anti-Patterns

| ❌ Don't | ✅ Do | |----------|------| | Hardcode content in sheet | Use config object | | Show popup immediately on page load | Use trigger system with delay | | No dismiss option | Always allow close + swipe | | Forget mobile safe-area | Pad for notched devices | | Skip tracking | Track every interaction | | One-size-fits-all sheet | Use compact/standard/full variants | | Autoplay anything | Require user interaction | | Show on every page visit | Respect session/localStorage dismiss | | Build calendar logic from scratch | Inherit from `cm-book

Compartilhar X LinkedIn