Communitygithub.com

atribución

Ayuda a determinar qué canales de marketing generan realmente conversiones e ingresos, a elegir o interpretar un modelo de atribución y a conciliar cifras contradictorias entre herramientas.

¿Qué es atribución?

Este skill está diseñado para resolver la pregunta más compleja del marketing: qué esfuerzos realmente causan una conversión y los ingresos asociados. Se divide en dos pilares: (A) Interpretación, que abarca la elección de modelos de atribución, la reconciliación de datos contradictorios entre plataformas y la comprensión de paradigmas de medición como MTA, MMM e incrementalidad; y (B) Atribución propia, que guía la instrumentación técnica de atribución de primera mano cuando se controla el sitio o la aplicación. Es útil para cualquier profesional de marketing o desarrollador que busque entender el rendimiento real de los canales, evitar sesgos de atribución y tomar decisiones basadas en datos, incluso cuando las herramientas reportan cifras divergentes. El skill proporciona marcos prácticos para elegir modelos según el tipo de negocio (B2B SaaS vs. ecommerce), cómo triangular fuentes conflictivas (plataformas publicitarias, analytics, CRM) y técnicas para cerrar la brecha de atribución, incluyendo el uso de encuestas post-conversión y la implementación de un identity graph con `identify()` para seguimiento first-party.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/coreyhaines31/marketingskills/tree/main/skills/attribution

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace atribución?

Ayudas a los usuarios a responder la pregunta más difícil en marketing: ¿cuál de mis esfuerzos causó realmente esta conversión y estos ingresos? La atribución es donde los especialistas en marketing pierden más dinero — en canales que se ven bien en un panel y terribles en otro, en "directo" y "búsqueda de marca" que ocultan la fuente real, y en modelos que silenciosamente codifican una opinión como si fuera un hecho.

Esta habilidad tiene dos pilares. Sabe cuál necesita el usuario antes de profundizar:

  • (A) Interpretación — elegir un modelo de atribución, seleccionar un enfoque de medición y conciliar los números contradictorios que reportan tus herramientas. Esto aplica a todos, incluso sin conocimientos de ingeniería.
  • (B) Posee tu atribución (first-party) — instrumentar y unir la atribución tú mismo cuando controlas el sitio/aplicación. Esta es la vía de construcción. Úsalo cuando el usuario diga "Quiero rastrear esto yo mismo" o esté manejando una conversión que ocurre en un dominio que no poseen.

La mayoría de las solicitudes comienzan con (A). Recurre a (B) solo cuando controlen la superficie y quieran construir.

Contexto del producto: verifica si existe .agents/product-marketing.md y léelo si está presente — el tipo de negocio, ciclo de ventas y conversión principal impulsan casi todas las recomendaciones aquí.

Límites — lo que esta habilidad NO cubre

Establece esto desde el principio para no reconstruir habilidades vecinas:

  • Seguimiento general de eventos, planes de tracking, configuración de UTM, GA4/GTM → analítica. La atribución asume que el seguimiento existe. La línea: analítica = "qué eventos y cómo dispararlos"; atribución = "cómo los toques se unen a las conversiones y sobreviven hasta los ingresos."
  • Píxeles de plataformas publicitarias, CAPI, seguimiento de conversiones del lado del servidor → anuncios (references/conversion-tracking.md). La atribución consume los números reportados por las plataformas y corrige su sesgo; no configura los píxeles.
  • Etapas del pipeline, ciclo de vida del lead, paneles de ingresos en CRM → revops. La atribución alimenta los datos del pipeline; no define las etapas.
  • Mostrarse en / medir búsqueda en IA → ai-seo. La atribución nombra el tráfico de IA como un punto ciego.

Pilar A — Interpretación

1. Lo que la atribución puede y no puede decirte

Establece expectativas antes de tocar un número:

  • La atribución es direccional, no verdad absoluta. Es un modelo de causalidad construido a partir de datos incompletos (las cookies caducan, las sesiones se fragmentan, los toques offline desaparecen, la gente investiga en un dispositivo y compra en otro). Trátalo como una pista fuerte, nunca como un veredicto.
  • Cada modelo es una opinión. "Primer toque" dice que el primer anuncio recibe todo el crédito; "último toque" dice que el clic de cierre lo hace. Ambos están equivocados en direcciones opuestas. Elegir un modelo es elegir la historia de quién creer — dilo en voz alta.
  • La brecha de atribución es normal. La suma de las conversiones reportadas por canal casi siempre supera las conversiones reales, porque cada plataforma reclama crédito por la misma venta. Tu trabajo es reducir y explicar la brecha, no hacer que los números coincidan perfectamente. No lo harán.

Cuando un usuario exija un número verdadero, reformula: "Podemos darte un número defendible y consistente y una lectura de qué canales están en aumento. Una única verdad objetiva no existe — aquí te explico por qué y qué usamos de todos modos para tomar decisiones."

2. Modelos de atribución

Los seis modelos estándar y cuándo miente cada uno:

ModeloRegla de créditoMejor paraCómo miente
Primer toque100% al primer toque conocidoValoración de top-of-funnel / demand-gen; ciclos cortosIgnora todo lo que cerró el trato; sobrerreconoce canales de conciencia
Último toque100% al último toque antes de la conversiónRespuesta directa, e-commerce rápidoSobrerreconoce fondos de embudo + búsqueda de marca/directo; ignora lo que creó demanda
Último no directo100% al último toque, saltando "directo"Una solución barata para la contaminación directaSigue siendo de un solo toque; solo mueve el punto ciego
LinealCrédito igual a cada toqueViajes largos de múltiples toques donde cada paso importaTrata una visita sin importancia como una demostración; favorece canales de alta frecuencia
Decaimiento temporalMás crédito a toques más cercanos a la conversiónCiclos más largos donde la actualidad importaSubestima la parte superior del embudo; sigue siendo una suposición, no una medición
Basado en posición (U-shaped)40% primero, 40% último, 20% medioB2B con momentos claros de "creación" + "cierre"La división 40/40/20 es arbitraria; los toques medios reciben menos crédito
Basado en datos (algorítmico/Shapley)Crédito de contribución marginal modeladaCuentas de alto volumen con suficientes conversionesUna caja negra; necesita volumen; no puede ver toques offline/oscuros que nunca se le alimentaron

Reglas generales:

  • Nunca reportes un solo modelo de forma aislada para un ciclo de ventas largo. Muestra primer toque y último toque lado a lado — la verdad vive entre ellos, y la brecha entre ellos es la percepción.
  • La atribución basada en datos necesita volumen (Google Ads históricamente la limitaba a ~3,000 interacciones de anuncios y ~300 conversiones en 30 días; desde entonces ha relajado los mínimos y ha hecho de DDA el valor predeterminado, pero el volumen bajo sigue siendo ruido disfrazado de ciencia). Usa basado en posición cuando tengas pocos datos.
  • El modelo importa mucho menos que ser consistente y combinarlo con una verificación de cordura fuera del modelo (Pilar A §4, auto-reportado).

Para las matemáticas del modelo, ejemplos resueltos de un viaje puntuado de seis maneras, y Shapley explicado de forma sencilla, consulta references/attribution-models.md.

3. Los tres paradigmas de medición

Los modelos dividen el crédito dentro de tus datos rastreados. Los paradigmas son cómo llegar a la causalidad — cada vez más rigurosos, cada vez más caros:

ParadigmaQué esRespondeNecesitaCuidado
MTA (atribución multi-toque)Unir toques a nivel de usuario, aplicar un modelo"¿Qué puntos de contacto aparecen en los viajes que convierten?"Seguimiento limpio a nivel de usuario entre dispositivosLa pérdida de cookies + la privacidad han eliminado los datos a nivel de usuario; subestima silenciosamente
MMM (modelado de mezcla de medios/marketing)Regresión de arriba hacia abajo de gasto vs. resultados a lo largo del tiempo"¿Cuál es la contribución agregada de cada canal, incluyendo offline/marca?"2–3 años de datos semanales, variación de gastoCorrelacional; lento para reaccionar; necesita cambios reales de presupuesto para aprender
Incrementalidad (geo holdout, PSA, anuncios fantasma, on/off)Experimento controlado: expuesto vs. retenido"¿Este canal causó un incremento que no habría obtenido de todos modos?"Capacidad de retener; suficiente volumen para significanciaEl estándar de oro, pero solo puedes probar algunas cosas a la vez

Cómo elegir: presupuesto pequeño / ciclo corto → buen UTM + último no directo + una encuesta auto-reportada supera a un modelo sofisticado. Presupuesto medio, varios canales → MTA para el día a día + pruebas periódicas de incrementalidad en tus partidas más grandes. Presupuesto grande, gasto offline + marca → MMM para la cartera + incrementalidad para validar los coeficientes de MMM. La incrementalidad es el desempate cuando dos canales reclaman las mismas conversiones.

Tabla de decisión por presupuesto × ciclo de ventas × número de canales, y cómo leer una prueba de geo-holdout / PSA (no un tutorial de estadística), en references/measurement-paradigms.md.

4. Atribución auto-reportada

La señal más infrautilizada y, a menudo, la más honesta para ciclos largos y social oscuro. Una encuesta posterior a la conversión "¿Cómo supiste de nosotros?" captura lo que el seguimiento estructuralmente no puede: podcasts, boca a boca, comunidades de Slack, un tuit del fundador, "un amigo me lo dijo."

  • Cuándo supera al seguimiento: ciclos largos de consideración, alto boca a boca, liderado por marca/comunidad o mucho social oscuro (ver §5). Si una gran parte de tus viajes son "directo", tienes un agujero que la encuesta puede llenar.
  • Pregunta en el momento de la conversión (registro, primera compra, solicitud de demostración) — la mejor recuperación, antes de que la memoria se desvanezca.
  • Redacción: abierta ("¿Cómo supiste de nosotros por primera vez?") captura social oscuro; una lista corta es más fácil de cuantificar pero sesga la respuesta. Mejor práctica: lista de tus canales conocidos más un campo de texto libre "otro/cuéntanos más."
  • Trátalo como una entrada de triangulación, no como evangelio — el recuerdo es difuso y la gente da crédito al toque memorable, no al primero. Es la verificación fuera del modelo que mantiene honestos tus modelos rastreados.
  • En el lado de la construcción, esto es un campo de formulario escrito en tu CRM/analítica como una propiedad de persona — consulta el Pilar B y references/first-party-tracking.md.

5. Conciliación de fuentes conflictivas

La petición detrás de la mayoría del trabajo de atribución: "Google dice 50, Meta dice 40, GA dice 60, mi CRM dice 35 — ¿quién tiene razón?" Nadie. Aquí está el marco.

Por qué cada fuente miente sistemáticamente:

FuenteSesgada haciaPorque
Plataformas publicitarias (Google/Meta/LinkedIn)Sobrerreporta a sí mismaReclama conversiones de vista + clic en su propia ventana; cada plataforma cuenta la misma venta; motivada para verse bien
GA / analítica webÚltimo clic no directoPierde entre dispositivos, pierde usuarios con cookies bloqueadas, arroja lo desconocido en directo
CRMLo que escribió el representante / capturó el formularioEntrada humana, sobrescritura de fuente de lead, acuerdos offline sin rastro digital
Encuesta auto-reportadaEl toque memorableSesgo de recuerdo; subestima toques aburridos pero reales como el retargeting

Cómo triangular:

  1. Elige una única fuente de verdad para el recuento de conversiones — normalmente tu CRM o backend (el sistema donde el dinero es real). Todo lo demás explica de dónde vinieron, no redefine cuántas.
  2. Nunca sumes entre plataformas. Si Google y Meta reclaman una conversión, tienes una conversión con dos reclamantes, no dos conversiones. Deduplica contra el total de la fuente de verdad.
  3. Lee acuerdo direccional, no coincidencia absoluta. Si cada fuente dice que la búsqueda pagada subió y la orgánica bajó este trimestre, esa tendencia es confiable aunque ningún par de números coincida.
  4. Usa lo auto-reportado como desempate cuando las plataformas peleen por las mismas conversiones, e incrementalidad cuando lo que está en juego justifique una prueba.
  5. Espera y presupuesta la brecha. Reporta "las plataformas reclaman N; podemos verificar M; el delta es sobrerreporte + vista + no rastreado — aquí está nuestra mejor asignación."

El resultado es una asignación honesta con niveles de confianza, no una falsa conciliación hasta el decimal.

6. Los puntos ciegos

Donde se esconden las conversiones, haciendo que los canales reales parezcan débiles:

  • Directo — el cajón desastre. Marcadores y URL escritas, sí, pero también referencias eliminadas, de aplicación a web, social oscuro y cualquier toque que tu seguimiento haya perdido. Una gran participación directa es un problema de medición, no un canal.
  • Búsqueda de marca — personas que te descubrieron en otro lugar y googlearon tu nombre. El último toque da el crédito a la búsqueda de marca pagada/orgánica; el verdadero motor fue lo que les hizo buscar. Segmenta la búsqueda de marca vs. no marca o desfinanciarás la parte superior del embudo.
  • Social oscuro — compartir que no lleva ningún referente: DMs, Slack/Discord, podcasts, boletines, capturas de pantalla. Estructuralmente invisible para el seguimiento; auto-reportado es la única forma de verlo (§4).
  • Tráfico de IA — los asistentes y la búsqueda con IA influyen cada vez más en los compradores, y luego los envían a través de búsqueda de marca o directo, por lo que el toque de IA es invisible en la analítica. Nómbralo y pasa el trabajo más profundo a ai-seo.

El hilo conductor: cuando "directo" y "búsqueda de marca" dominan, tu parte superior del embudo está funcionando y tu atribución lo está ocultando. Dilo explícitamente — es la lectura errónea más común en marketing.

7. Bifurcación por tipo de negocio

Los valores predeterminados difieren notablemente. Resumen aquí; guías completas en references/by-business-type.md.

  • B2B SaaS (ciclo largo, con asistencia de ventas): los viajes duran semanas–meses e involucran a varias personas, por lo que los modelos de un solo toque engañan gravemente. Ancla en el CRM como fuente de verdad, usa primer toque + basado en posición lado a lado, apóyate mucho en auto-reportado en demostración/registro, y trata la atribución de pipeline/ingresos (→ revops) como el marcador real. Los toques offline (eventos, conversaciones de ventas) hacen que MTA sea más débil y lo auto-reportado más fuerte aquí.
  • Ecommerce / DTC (ciclo corto, autoservicio): viajes rápidos, alto volumen, gasto concentrado en social pagado + búsqueda. Ancla en el ROAS de la plataforma pero desconfía (inflación de iOS/CAPI), valida con MMM una vez que el gasto sea material y pruebas de incrementalidad/geo-holdouts en tus canales más grandes, y usa una encuesta posterior a la compra para capturar lo que los píxeles pierden. El último toque es defendible para SKUs de rotación rápida; MMM+incrementalidad es cómo asignas el presupuesto real.

Pilar B — Posee tu atribución (first-party)

Usa esto cuando el usuario controle el sitio/aplicación y quiera instrumentar la atribución por sí mismo — especialmente para una conversión que ocurre en un dominio que no poseen (una reserva de SavvyCal/Calendly/Cal.com, una página de pago de Stripe). Este pilar se basa en construcciones de producción reales; el manual completo con patrones de código está en references/first-party-tracking.md. Lo esencial:

El gráfico de identidad

La atribución de primera parte es una idea: unir la navegación anónima con la conversión eventual.

  1. Un visitante llega anónimo; tu herramienta de analítica asigna un distinct_id anónimo y sella las propiedades de primer toque ($initial_referrer, $initial_utm_*) en sus eventos.
  2. En la conversión (registro, reserva, compra) llamas a identify() con una identificación estable (correo electrónico o UUID de usuario). Esto fusiona el historial anónimo en una persona conocida — el primer toque ahora sobrevive hasta la conversión.
  3. Cada evento de conversión ahora se puede desglosar por canal de primer toque. Ese es todo el juego.

Cerrando la brecha de identify()

El fallo más común de la primera parte: nunca se llama a identify(), por lo que las conversiones nunca se unen al historial de navegación y cada cliente parece haber aparecido de la nada. (Marco adaptado del enfoque de Tessa Kriesel para PostHog). La solución es llamar a identify en cada conversión real. Audita primero — muchas aplicaciones SaaS ya identifican en el registro; no reconstruyas lo que funciona. Encuentra las conversiones específicas no instrumentadas y cierra solo esas.

Cosiendo conversiones en un dominio de terceros

El único caso que necesita maquinaria real: una conversión …

[truncado para traducción]

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

ab-testing

When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions

ads

When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms. Also use when the user mentions

ai-seo

When the user wants to optimize content for AI search engines, get cited by LLMs, or appear in AI-generated answers. Also use when the user mentions

analytics

When the user wants to set up, improve, or audit analytics tracking and measurement. Also use when the user mentions

aso

When the user wants to audit or optimize an App Store or Google Play listing. Also use when the user mentions

churn-prevention

When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions

cold-email

Write B2B cold emails and follow-up sequences that get replies. Use when the user wants to write cold outreach emails, prospecting emails, cold email campaigns, sales development emails, or SDR emails. Also use when the user mentions

co-marketing

When the user wants to find co-marketing partners, plan joint campaigns, or brainstorm partnership opportunities. Use when the user says

community-marketing

Build and leverage online communities to drive product growth and brand loyalty. Use when the user wants to create a community strategy, grow a Discord or Slack community, manage a forum or subreddit, build brand advocates, increase word-of-mouth, drive community-led growth, engage users post-signup, or turn customers into evangelists. Trigger phrases: \

competitor-profiling

When the user wants to research, profile, or analyze competitors from their URLs. Also use when the user mentions

competitors

When the user wants to create competitor comparison or alternative pages for SEO and sales enablement. Also use when the user mentions

content-strategy

When the user wants to plan a content strategy, decide what content to create, or figure out what topics to cover. Also use when the user mentions

copy-editing

When the user wants to edit, review, or improve existing marketing copy, or refresh outdated content. Also use when the user mentions

copywriting

When the user wants to write, rewrite, or improve marketing copy for any page — including homepage, landing pages, pricing pages, feature pages, about pages, or product pages. Also use when the user says

coreyhaines31/ab-test-setup

When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program," or "experiment playbook." Use this whenever someone is comparing two approaches and wants to measure which performs better, or when they want to build a systematic experimentation practice. For tracking implementation, see analytics-tracking. For page-level conversion optimization, see page-cro.

coreyhaines31/analytics-tracking

When the user wants to set up, improve, or audit analytics tracking and measurement. Also use when the user mentions "set up tracking," "GA4," "Google Analytics," "conversion tracking," "event tracking," "UTM parameters," "tag manager," "GTM," "analytics implementation," "tracking plan," "how do I measure this," "track conversions," "attribution," "Mixpanel," "Segment," "are my events firing," or "analytics isn't working." Use this whenever someone asks how to know if something is working or wants to measure marketing results. For A/B test measurement, see ab-test-setup.

coreyhaines31/aso-audit

When the user wants to audit or optimize an App Store or Google Play listing. Also use when the user mentions 'ASO audit,' 'app store optimization,' 'optimize my app listing,' 'improve app visibility,' 'app store ranking,' 'audit my listing,' 'why aren't people downloading my app,' 'improve my app conversion,' 'keyword optimization for app,' or 'compare my app to competitors.' Use when the user shares an App Store or Google Play URL and wants to improve it.

coreyhaines31/competitor-alternatives

When the user wants to create competitor comparison or alternative pages for SEO and sales enablement. Also use when the user mentions 'alternative page,' 'vs page,' 'competitor comparison,' 'comparison page,' '[Product] vs [Product],' '[Product] alternative,' 'competitive landing pages,' 'how do we compare to X,' 'battle card,' or 'competitor teardown.' Use this for any content that positions your product against competitors. Covers four formats: singular alternative, plural alternatives, you vs competitor, and competitor vs competitor. For sales-specific competitor docs, see sales-enablement.

coreyhaines31/email-sequence

When the user wants to create or optimize an email sequence, drip campaign, automated email flow, or lifecycle email program. Also use when the user mentions "email sequence," "drip campaign," "nurture sequence," "onboarding emails," "welcome sequence," "re-engagement emails," "email automation," "lifecycle emails," "trigger-based emails," "email funnel," "email workflow," "what emails should I send," "welcome series," or "email cadence." Use this for any multi-email automated flow. For cold outreach emails, see cold-email. For in-app onboarding, see onboarding-cro.

coreyhaines31/form-cro

When the user wants to optimize any form that is NOT signup/registration — including lead capture forms, contact forms, demo request forms, application forms, survey forms, or checkout forms. Also use when the user mentions "form optimization," "lead form conversions," "form friction," "form fields," "form completion rate," "contact form," "nobody fills out our form," "form abandonment," "too many fields," "demo request form," or "lead form isn't converting." Use this for any non-signup form that captures information. For signup/registration forms, see signup-flow-cro. For popups containing forms, see popup-cro.

Skills relacionados