Reporte ejecutivo · v2 · rev. 2026-07-01

Tu medición está a medias — y por eso el ROAS que ves no es real.

Auditamos el stack de tracking en vivo del storefront (Shopify, shop_id 82032165159) y cruzamos 559 órdenes reales de 2026 con el recorrido completo del cliente. Hallazgo: la data existe, pero está duplicada, sub-contada y sin server-side, y faltan canales enteros. Aquí está el estado real, los riesgos priorizados, la arquitectura objetivo y el plan por fases para hacer de Shopify la única fuente de verdad.

GA4 + Ads disparan por tema y por web-pixel de Shopify → riesgo de doble conteo
0
Meta Pixel / CAPI y TikTok: no instalados (canales a ciegas)
51→18
Órdenes con gclid contadas como "Paid" (pago disfrazado de orgánico)
$31.5K
Self-referral: tu propio dominio contado como fuente

Veredicto ejecutivo estado actual

La cuenta no está "sin medición" — está sobre-medida y mal medida. GA4 (G-L1ZH4L4PYD) y Google Ads (AW-11190966816) se cargan dos veces (gtag en el tema + web-pixel del canal de Google de Shopify), no hay GTM ni server-side, la atribución cuenta pago como orgánico, y faltan por completo Meta Pixel/CAPI y TikTok. Consecuencia directa: no puedes confiar en el valor de conversión, no puedes pasar a Maximize ROAS, y cada plataforma optimiza con señales incompletas. La buena noticia: la base (Shopify + Consent Mode + Klaviyo + GA4/Ads) ya está — hay que ordenarla, deduplicarla y llevarla a server-side, no reconstruirla.

1 · Inventario del stack (auditado en vivo) fase 1 · lo que corre hoy

PlataformaID detectadoCómo cargaEstado
Shopify (fuente de verdad)shop 82032165159Web Pixels Manager · Trekkie · Monorailnativo ok
GA4G-L1ZH4L4PYDgtag en tema + web-pixel canal Google (2430239015)duplicado
Google AdsAW-11190966816gtag en tema + web-pixel canal Googleduplicado
Google Consent Mode v2url_passthrough:truegtag('consent') presentepresente*
Microsoft Ads (Bing UET)187108834uetq en temarevisar dedup
Klaviyo (email/SMS)XYh9cWonsite JSok
Judge.me (reviews)appok
Google Tag Managerno existe
Meta Pixel + CAPIsolo link social facebook.com/PlaceForProsfalta
TikTok Pixel + Events APIfalta
Server-side (GTM-SS / Stape)falta
*Consent Mode: se detecta la API en cliente (url_passthrough), pero falta confirmar la CMP y los estados granted/denied — requiere DebugView + revisar el banner de cookies (no verificable solo desde el HTML público).

2 · Riesgos críticos priorizados fase 2 · problemas

🟡
Doble conteo GA4 + Google Ads. El tema carga gtag.js hardcodeado y además el canal Google de Shopify inyecta un web-pixel con los mismos IDs (google_tag_ids:[G-L1ZH4L4PYD, AW-11190966816]). Si ambos disparan page_view/purchase, inflas sesiones y conversiones. Impacto: alto — contamina el valor que Smart Bidding usa. A confirmar en DebugView; corregir dejando una sola fuente por plataforma.
🔴
Pago de Google disfrazado de orgánico. 51 órdenes traen gclid y 49 traen utm_medium=product_sync (feed Shopping), pero Shopify solo clasifica 18 como Paid. El referrer google.com = $53,357 se reparte mal entre orgánico y pago. Causa raíz: falta auto-tagging + final-URL-suffix propagando gclid. Impacto: crítico.
🔴
Sin Meta Pixel/CAPI ni TikTok. No hay pixel ni Conversions API para Meta ni TikTok. Cualquier inversión (o futura) en esos canales optimiza a ciegas, sin Purchase, sin Event Match Quality, sin deduplicación. Impacto: alto si se escala paid social.
🟡
Self-referral del dominio propio. placeforpros.com = $31,503 aparece como fuente de referencia (falta exclusión de referencias + cross-domain con checkout). Infla Directo/Referido. Impacto: medio-alto.
🟡
Todo lo no-rastreado → "Directo". Shop app ($11,839) + 61 órdenes sin recorrido ($7,287) caen a Directo por default, y en 25% de órdenes el primer clic ≠ el último → el último-clic borra el origen real. Impacto: medio.
🟡
Sin GTM ni server-side. Todo es client-side (gtag en tema + apps). Sin GTM no hay control de versiones, ni deduplicación central, ni Enhanced Conversions server-side → pérdida por ITP/adblock/consent. Impacto: medio, estructural.

3 · Mix aparente vs realidad evidencia de datos

Ingresos por referrer real (URL de origen). google.com ($53K), tu propio dominio ($31.5K) y shop.app ($11.8K) dominan — muy distinto al mix "por canal" que reporta Shopify.

Cómo lo reporta Shopify (último clic)

CanalIngreso%
Directo (+ sin recorrido)$78,74947.9%
Orgánico$40,13524.4%
Referidos$24,54214.9%
Paid Search$8,9435.4%
Social$7,0084.3%
Email$2,2881.4%
⚠️ Estos % están contaminados por las fugas de arriba: Directo/Orgánico inflados, Paid real muy por encima de 5.4%.

4 · ROAS: Google vs realidad por qué importa la data limpia

ROAS del pago (may–jun)

MétodoGastoVentasROAS
Google (auto-atribuido)$2,495$4,2771.71x
Shopify (Paid real)$2,495$3,4681.39x
Google se cuelga ~$808 de más (23%). La verdad vive entre 1.39x y 1.71x: exactamente la brecha que crea la medición sucia.

ROAS real por campaña (Google Ads API)

CampañaGastoROAS
LP Branded (marca)$1962.9x
P. Impulso (PMax)$1391.75x
P. Max-General$1,9831.40x
Busqueda-2$3540.19x
La marca rinde 63x y casi no se financia. Busqueda-2 pierde plata. Con atribución limpia se puede reasignar con confianza.

5 · Arquitectura objetivo fase 4 · target state

Shopify como Source of Truth → capa server-side que deduplica y reparte a cada plataforma con un event_id compartido y Enhanced Conversions/CAPI. Recomendación: GTM Server-Side en Stape (más rápido de montar que Cloud Run, dominio first-party, sin DevOps) alimentado por el web pixel de Shopify (Customer Events).

[ SHOPIFY checkout + Customer Events (web pixel) ] · fuente de verdad de la venta
    │ dataLayer estándar GA4 (view_item → add_to_cart → begin_checkout → purchase)
    ▼
[ GTM Web ] → 1 solo tag por plataforma, consent-gated
    ▼ (first-party, gtag('consent'))
[ GTM SERVER (Stape) ] · dominio propio ss.placeforpros.com · server cookies
  ├─▶ GA4 (1 stream)    # dedup por client_id/session_id
  ├─▶ Google Ads Enhanced Conversions # email/phone SHA256 + gclid/gbraid/wbraid
  ├─▶ Meta CAPI         # event_id = dedup con pixel · fbp/fbc
  ├─▶ TikTok Events API  # ttclid · dedup
  ├─▶ Microsoft Enhanced Conv. # msclkid
  └─▶ BigQuery (GA4 export) # modelo propio / dashboards

Por qué Stape (no Cloud Run)

Setup en horas, dominio first-party incluido, sin mantener infra GCP. Cloud Run/App Engine = más control y menor costo a alto volumen, pero requiere DevOps. A este volumen, Stape gana.

Deduplicación

Un event_id único por evento compartido entre pixel (browser) y CAPI (server). Meta/TikTok descartan el duplicado. GA4 dedup por transaction_id en purchase.

First-party data

Email/phone/nombre/zip hasheados SHA256 desde Shopify → Enhanced Conversions + Advanced Matching. Recupera 20-40% de conversiones perdidas por ITP/consent.

6 · Data Layer estándar fase 3 · spec Google

Migrar los eventos del web-pixel de Shopify al esquema oficial GA4 ecommerce, con items completos en cada uno. Eventos mínimos a emitir con parámetros correctos:

EventoParámetros clave que hoy faltan / validar
view_item / view_item_list / select_itemitem_id, item_name, item_brand, item_category, price, index, item_list_name
add_to_cart / remove_from_cart / view_cartvalue, currency, items[] completos, quantity
begin_checkout / add_shipping_info / add_payment_infovalue, currency, coupon, shipping_tier, payment_type
purchasetransaction_id, value, currency, tax, shipping, coupon, items[] (item_brand + item_category obligatorios para reporting por marca)
refundtransaction_id + items (hoy casi seguro ausente → infla ventas netas)
generate_lead / sign_up / contactel programa de Contractors (form detectado) debería emitir generate_lead
Regla de oro del rediseño: item_brand e item_category en todos los items → habilita "Revenue by Brand" (GURU/RUBI/Ancerre) directo en GA4/BigQuery sin cruces manuales.

7 · Plan por fases fase 5 · roadmap

Quick wins · <7 días

Parar la fuga

  • Auto-tagging + final-URL-suffix (gclid)
  • Exclusión de referencias: placeforpros.com + shop.app + pasarelas
  • Resolver doble gtag: dejar 1 fuente GA4/Ads
  • Confirmar Purchase envía value+transaction_id reales
30 días

Ordenar client-side

  • Montar GTM Web + migrar tags del tema
  • Data Layer GA4 estándar (items completos)
  • Enhanced Conversions (email/phone hash)
  • Validar Consent Mode v2 (banner + estados)
60 días

Server-side + CAPI

  • GTM-SS en Stape (dominio first-party)
  • Meta Pixel + CAPI con event_id/dedup
  • TikTok + Microsoft Events API
  • Customer Match desde Shopify (1,688 compradores)
90 días

Optimizar y escalar

  • BigQuery export + modelo de atribución propio
  • Value-based bidding → Maximize ROAS
  • Dashboards por rol (CEO/Paid/Ecom)
  • QA recurrente + control de versiones

8 · El premio: Maximize ROAS por qué el orden importa

Es cierto que arreglar la medición habilita Maximize ROAS. Pero hoy no se puede: optimiza sobre el valor de conversión, y ese valor está contaminado (doble conteo + metas + atribución sucia). Activarlo ahora = Google optimiza sobre basura. Checklist para destrabarlo:

  1. Deduplicar GA4/Ads (una sola fuente) + auto-tagging gclid.
  2. Excluir self-referrals (placeforpros.com, shop.app, pasarelas de pago).
  3. Feed Shopping/PMax con gclid, no solo utm_medium=product_sync.
  4. Una sola conversión de venta con value real (limpiar las metas de validación).
  5. 2–4 semanas de datos limpios → entonces sí, cambiar a Maximize ROAS.

9 · Clientes de alto valor → Customer Match first-party

Tu base real (Shopify)

SegmentoClientes
Compradores (gasto > 0)1,688
Gasto ≥ $500759
Top 1,000 (umbral ≥ $179)1,000
Recurrentes (2+ órdenes)390
Los ≥$500 (759) concentran $858K = 87% del ingreso histórico. El #1 gastó $13,546.

Recomendación

Customer Match necesita ~1,000 miembros activos y Google matchea solo 50–70% de los emails. Subir los 1,688 completos (hash SHA256 email+phone desde Shopify) garantiza >1,000 activos; usar ≥$500 (759) y recurrentes (390) como audience signal de alto valor para que PMax busque lookalikes de tus mejores compradores.

10 · QA checklist (antes/después de publicar) fase 6 · validación

GA4 DebugView: purchase dispara 1 sola vez con transaction_id
Tag Assistant: sin tags duplicados GA4/Ads en la misma vista
Network: 1 request por plataforma por evento (no 2)
Meta Test Events: Event Match Quality > 6.0
Meta/TikTok: pixel + server comparten event_id (dedup OK)
Google Ads: Enhanced Conversions "Recording" en diagnóstico
Consent denied → no se setean cookies de ads/analytics
Referral exclusions activas (self-domain + pasarelas)
purchase.value = total de la orden en Shopify (moneda USD)
refund emite y descuenta correctamente
gclid/fbc/ttclid/msclkid capturados y persistidos a la orden
BigQuery export activo y sin gaps diarios

11 · Lo que falta para el deep-dive accesos requeridos

Esta auditoría se hizo con evidencia observable (storefront en vivo + Shopify Admin API + Google Ads API). Para completar Fase 2 (GTM interno, GA4 admin, EMQ de Meta, diagnóstico TikTok/Microsoft) hacen falta accesos que hoy no tenemos. Ninguna recomendación de arriba se implementa sin OK explícito. Accesos a pedir:

SistemaAccesoPara
Google AdsAdmin / MCC link (cuenta 564-251-0986)Enhanced Conversions, Customer Match, atribución
GA4 + BigQueryEditor de la propiedadConfig, exclusiones, custom dims, export
ShopifyYa disponible (Admin API)Customer Events, dataLayer, feed
Meta BusinessPartner / adminCrear Pixel + CAPI + dominio verificado
Google Tag ManagerPublish (crear contenedor)GTM Web + Server
Fuentes: Auditoría en vivo del storefront placeforpros.com (Shopify shop_id 82032165159; tags detectados por inspección del HTML servido 2026-07-01) · Shopify Admin API (559 órdenes 2026 con customerJourneySummary + landing_site + referring_site; 1,688 clientes; 312 productos/18 marcas) · Google Ads API directa (cuenta 564-251-0986, cost/ROAS may–jun). Todo dato real, cero métricas inventadas. Los puntos marcados "a confirmar en DebugView" requieren acceso a las cuentas para verificación final. · Admax · Arquitectura de medición · rev. 2026-07-01.