| name | omnichannel-growth-loop |
| description | Closed-loop growth methodology for the company (DTC fashion, €5-10M, 2 own stores + the department-store corners corners + online + wholesale). Diagnoses ICP from real Shopify/GA4/Klaviyo data, maps cross-channel halo effects (digital ↔ physical), and outputs 3 concrete actions with owner + KPI. Built to replace generic B2B SaaS growth frameworks that ignore retail spillover. |
| metadata | {"source":"the company-native","inspired_by":"omarismail.com/projects/growth-engine (B2B SaaS, intentionally inverted for DTC)","category":"marketing","primary_user":"marketing-agent","tools_needed":"shopify_query, ga4_query, meta_ads_query, klaviyo_query, tc_analytics_query, brain_search"} |
Public, anonymized version of a skill running in the Compai reference deployment (an 8-figure consumer SME). Names, stores, channels and endpoints replaced with placeholders; the logic is unchanged. Adapt to your own context.
the company Omnichannel Growth Loop
What it does
Replaces "Meta-only" or "online-only" growth thinking with a closed loop that treats retail (Store A, Store B, the department-store corners corners) as a force multiplier of digital paid acquisition, not as a separate silo. Run this skill when the question is "where is our next €1M of growth?" and the answer needs to be data-grounded, not a slide deck.
When to activate
- ROAS de Meta cae pero revenue Shopify aguanta → hay halo effect no medido
- Apertura de tienda nueva en negociación (Bilbao, Valencia, Amsterdam) → modelar spillover
- the marketing agent pide channel mix anual / quarterly
- the strategy hub prepara weekly P&L y necesita atribución real cross-channel
- the founder dice "vamos a probar TikTok ads / cold outreach / nuevo mercado" → primero pasar por este loop
- Equipo discute si invertir en Pinterest vs Meta vs branded SEO
Why NOT a B2B SaaS growth framework
Frameworks tipo Omar Ismail Growth Engine, Reforge B2B Loops, etc. asumen:
- Sales-led funnel (Lead → Meeting → Trial → Opportunity → Customer)
- Enrichment B2B (Apollo, Clay, RB2B)
- Cold outreach (HeyReach, Instantly)
- Single channel attribution
the company es B2C DTC fashion. Funnel real:
- View → ATC → Checkout → Customer → Repeat (digital)
- Walk-in → Try-on → Purchase → Loyalty (retail)
- Cross: Digital ad → branded search → retail walk-in (halo, casi nunca medido)
Si copias el growth engine B2B tal cual, asignas mal el budget durante 6 meses.
Stage 1 — ICP REAL desde data (no buyer personas inventadas)
Objetivo: identificar 3-5 archetipos de cliente con peso real en revenue, no aspiracionales.
Inputs (que el agente debe pull al activar)
shopify_query("orders.json?status=any&created_at_min=<12mo_ago>&limit=250&fields=id,total_price,customer,line_items,source_name,created_at")
shopify_query("customers.json?limit=250&fields=id,total_spent,orders_count,first_name,addresses,tags")
ga4_query("propertyId=..., metrics=sessions,conversions,revenue, dimensions=deviceCategory,source,medium,city, dateRanges=last_365d")
tc_analytics_query("store=store_a,store_b, date_range=last_365d")
Análisis a producir
Segmentar por estos 4 axes simultáneamente (no por uno solo):
- Spend tier: <€200, €200-€800, €800-€2K, >€2K LTV
- Frequency: 1 order, 2-3, 4-6, 7+
- Channel mix: 100% online | mixed | 100% retail (POS) | 100% wholesale
- Geography: Madrid metro, Barcelona metro, resto España, EU, USA, RoW
Output esperado
Tabla con 5 archetipos ordenados por contribución a revenue total:
| Archetype | % revenue | LTV avg | Channel mix | Geo | Insight accionable |
|---|---|---|---|---|---|
| "Madrid loyalist" | 28% | €1.4K | 70% retail 30% online | Madrid metro | Retail walk-in es el trigger; Meta debe ser branded |
| "Barcelona discovery" | 14% | €380 | 90% online | Barcelona metro | Aún no convertimos a retail; abrir Store B v2? |
| ... | ... | ... | ... | ... | ... |
Anti-patrón: NO segmentar solo por "edad/género/intereses" como hace Meta. Eso es Meta tier-1 segmentation, no ICP real.
Stage 2 — Channel attribution + halo loop mapping
Objetivo: detectar dónde dejas dinero porque el modelo de atribución last-click subestima el efecto cruzado.
Diagnósticos a correr (en este orden)
2.1 — Discrepancia attribution
shopify_revenue = shopify_query("orders.json...total_price sum")
meta_attributed = meta_ads_query("act_<id>/insights?fields=action_values,purchase_roas")
ga4_attributed = ga4_query("metrics=purchaseRevenue,transactions,sessionDefaultChannelGroup")
Si Meta dice ROAS 6.05x pero Shopify total revenue / total Meta spend = 12x → tienes halo masivo. Si es al revés, tienes attribution overlap o fraude.
2.2 — Branded search lift
gsc_search_analytics(query="the company OR brand_terms", dimensions=date)
Si Meta spend ↑ 30% y branded search ↑ 20% (con 7-14d lag), tu Meta está haciendo trabajo de awareness aunque ROAS direct no lo refleje.
2.3 — Retail spillover de digital
tc_analytics_query("foot_traffic daily, last_180d")
2.4 — Digital re-engagement de walk-ins
shopify_query("customers donde source_name=pos")
klaviyo_query("metrics: opened_email, clicked_email, placed_order, segment=pos_customers_90d")
Si <40% de walk-ins re-compran online en 90d, el loop está roto en la dirección retail→digital.
Output esperado
| Loop direction | Status | Gap | Fix prioritario |
|---|---|---|---|
| Digital → Retail | ✅ Funciona (corr 0.6) | €180K/año halo no atribuido a Meta | Mover 20% budget Meta de "scaling" a "branded" |
| Retail → Digital | 🔴 Roto | 60% walk-ins no reactivan | Klaviyo POS welcome flow + 90-day winback |
| Branded → Direct | 🟡 OK pero subutilizado | Google Ads SQR captura poco | Aumentar Google branded budget +€2K/mes |
Stage 3 — Loop execution (3 acciones concretas, no roadmap)
Objetivo: producir 3 acciones que se pueden ejecutar esta semana, no un plan de 90 días.
Reglas duras del output
- Cada acción tiene owner real (persona del equipo, no "marketing team")
- Cada acción tiene KPI específico medible en ≤4 semanas
- Cada acción tiene tool/playbook ya existente en el swarm (no inventar)
- Total ≤ 3 acciones. Si quieres proponer 7, has fallado el ejercicio.
Plantilla
## Growth Loop — Acciones [semana X]
### Acción 1 — [verbo + objeto, ≤8 palabras]
- **Owner**: [nombre persona]
- **KPI**: [métrica específica + threshold + plazo]
- **Tool/playbook**: [skill del swarm o sistema concreto]
- **Por qué ahora**: [data del stage 1/2 que la justifica]
- **Riesgo si no hacemos**: [escenario malo medible]
### Acción 2 — ...
### Acción 3 — ...
Ejemplo (output real esperable)
### Acción 1 — Activar Klaviyo POS winback 90-day
- Owner: Marta (Klaviyo lead)
- KPI: repeat rate POS customers 60d > 25% (baseline 12%)
- Tool/playbook: skill `email-sequence` + segment `pos_customers_90d_no_repeat`
- Por qué ahora: Stage 2 detecta 60% walk-ins no reactivan en 90d. €120K LTV perdido/año estimado.
- Riesgo si no hacemos: cada apertura nueva amplifica el problema (más walk-ins, mismo gap).
### Acción 2 — Reducir Meta scaling -20% / Aumentar Google branded +€2K/mes
- Owner: the marketing agent
- KPI: branded search impressions +30% en 4 sem; Meta ROAS direct se mantiene ±10%
- Tool/playbook: skills `ads-channel-mix-optimizer` + `ads-ad-spend-allocator`
- Por qué ahora: ROAS Meta 6x pero halo no capturado. Branded subutilizado.
- Riesgo si no hacemos: dejamos €15K/mes en mesa.
### Acción 3 — Modelar Bilbao pre-apertura con Stage 1+2
- Owner: the strategy hub (coord con the retail agent)
- KPI: forecast revenue Bilbao tienda mes 1-12 con confianza ±25%
- Tool/playbook: skills `ads-budget-scenario-planner` + `ads-roas-forecasting` + brain `<brain-root>/knowledge/retail/`
- Por qué ahora: decisión local-pick antes de firmar lease.
- Riesgo si no hacemos: abrir tienda sin modelar = €200-500K riesgo.
Anti-patrones (qué NO hacer)
- ❌ Tratar tiendas como "drag" o "necesidad operativa". Son force multiplier del digital.
- ❌ Medir paid ROAS solo en last-click web. Mata el halo.
- ❌ Importar funnel B2B (Lead/MQL/SQL/Trial). the company no tiene SDRs ni sales reps.
- ❌ Cold outreach LinkedIn / Instantly. No es un canal en fashion B2C salvo wholesale.
- ❌ ICP basado en "intereses Meta" sin cruzar con Shopify LTV.
- ❌ Activar Pinterest / TikTok / nuevo canal sin pasar Stage 1+2 antes.
- ❌ Output de 15 bullets sin owner. Significa "ningún acción ejecutable".
Cadencia recomendada
- Stage 1 (ICP): refresh trimestral
- Stage 2 (Attribution): monthly review (correr al final de mes con the strategy hub + the marketing agent)
- Stage 3 (Actions): cada lunes, hasta 3 acciones rotativas
Referencias en el brain
<brain-root>/knowledge/strategy/the company-bp-interno-2026.md — revenue targets por canal
<brain-root>/knowledge/marketing/meta-ads-q1-2026-analysis.md — baseline Meta performance
<brain-root>/knowledge/retail/metrics-insights.md — KPIs físicos Store A + Store B
<brain-root>/knowledge/marketing/brand-guidelines-2026.md — posicionamiento ya definido (no re-inventar)