[{"data":1,"prerenderedAt":611},["ShallowReactive",2],{"article-alternates":3,"article-\u002Fes\u002Fmarketing\u002Fios-17-attribution-stack-post-att":13},{"i18nKey":4,"paths":5},"marketing-003-2026-06",{"de":6,"en":7,"es":8,"fr":9,"it":10,"ru":11,"tr":12},"\u002Fde\u002Fmarketing\u002Fios-17-nach-attribution-stack","\u002Fen\u002Fmarketing\u002Fios-17-post-attribution-stack","\u002Fes\u002Fmarketing\u002Fstack-atribucin-post-ios-17","\u002Ffr\u002Fmarketing\u002Fstack-attribution-ios-17-post","\u002Fit\u002Fmarketing\u002Fios-17-sonrasi-attribution-stack","\u002Fru\u002Fmarketing\u002Fios-17-sonrasi-atribucija-stack","\u002Ftr\u002Fmarketing\u002Fios-17-sonrasi-ad-attribution-stacki",{"_path":14,"_dir":15,"_draft":16,"_partial":16,"_locale":17,"title":18,"description":19,"publishedAt":20,"modifiedAt":20,"category":15,"i18nKey":4,"tags":21,"readingTime":27,"author":28,"body":29,"_type":605,"_id":606,"_source":607,"_file":608,"_stem":609,"_extension":610},"\u002Fes\u002Fmarketing\u002Fios-17-attribution-stack-post-att","marketing",false,"","Stack de atribución iOS 17 posterior a ATT","ATT, SKAdNetwork 4 y conversiones modeladas: reconstruye la atribución en iOS con estrategia práctica para la era post-lookback madura.","2026-06-02",[22,23,24,25,26],"ios-attribution","skadnetwork","att","modeled-conversions","mobile-measurement",8,"Roibase",{"type":30,"children":31,"toc":591},"root",[32,40,47,52,63,73,83,88,94,99,106,111,119,154,159,165,170,175,181,197,203,208,216,250,260,270,276,281,289,322,332,338,343,496,504,532,537,543,551,556,564,569,577,582,586],{"type":33,"tag":34,"props":35,"children":36},"element","p",{},[37],{"type":38,"value":39},"text","Pasaron cinco años desde que Apple implementó App Tracking Transparency en iOS 14.5. Desde entonces, los supuestos fundamentales del performance marketing móvil cambiaron. La atribución determinística a nivel de usuario murió, los modelos probabilísticos y agregados se volvieron obligatorios. Con iOS 17 y SKAdNetwork 4, el nuevo esquema de conversion value, la ventana post-lookback madura y las conversiones modeladas permiten replantear el juego. En este artículo te explicamos cómo construir la atribución en iOS en 2026, qué señales usar en qué orden y cómo combinar MMP + tests de incrementalidad.",{"type":33,"tag":41,"props":42,"children":44},"h2",{"id":43},"anatomía-de-la-atribución-post-att",[45],{"type":38,"value":46},"Anatomía de la atribución post-ATT",{"type":33,"tag":34,"props":48,"children":49},{},[50],{"type":38,"value":51},"Antes de iOS 14.5, los MMP (Adjust, AppsFlyer, Kochava) podían leer el IDFA a nivel de dispositivo para vincular cada conversión directamente a una campaña. Con ATT, este mecanismo se cerró para más del 95% de usuarios (dato Statista 2025, opt-in en ~7%). Ahora contamos con tres capas:",{"type":33,"tag":34,"props":53,"children":54},{},[55,61],{"type":33,"tag":56,"props":57,"children":58},"strong",{},[59],{"type":38,"value":60},"1. Determinística (usuarios con IDFA opt-in):",{"type":38,"value":62}," El 7% que otorga permiso sigue usando el flujo clásico de MMP. Timestamp de click\u002Fimpresión, instalación, evento in-app — todo a nivel de usuario. Pero este segmento ya no tiene poder representativo.",{"type":33,"tag":34,"props":64,"children":65},{},[66,71],{"type":33,"tag":56,"props":67,"children":68},{},[69],{"type":38,"value":70},"2. SKAdNetwork (postback agregado):",{"type":38,"value":72}," El framework de Apple privacy-first. Ventana de atribución 0-72 horas; conversion value limitado a 6-bit (0-63). En SKAdNetwork 4 se añadieron el segundo y tercer postback (8-35 días en lockWindow), permitiendo medir retención D7-D30.",{"type":33,"tag":34,"props":74,"children":75},{},[76,81],{"type":33,"tag":56,"props":77,"children":78},{},[79],{"type":38,"value":80},"3. Conversiones modeladas:",{"type":38,"value":82}," Las que MMP predice con machine learning. Combinan datos de click\u002Fimpresión agregados + conteo de instalaciones + señal SKAN. Menor confiabilidad que determinística, pero escala.",{"type":33,"tag":34,"props":84,"children":85},{},[86],{"type":38,"value":87},"Debemos usar estas tres capas juntas. Ninguna es suficiente por sí sola: IDFA es demasiado estrecho, SKAN es agregado y retrasado, modelada se basa en predicción. Construir un stack que equilibre las tres se convirtió en competencia central.",{"type":33,"tag":41,"props":89,"children":91},{"id":90},"lo-que-trae-skadnetwork-4",[92],{"type":38,"value":93},"Lo que trae SKAdNetwork 4",{"type":33,"tag":34,"props":95,"children":96},{},[97],{"type":38,"value":98},"SKAdNetwork 4 (llegó con iOS 16.1, maduro en iOS 17) introduce tres innovaciones mayores:",{"type":33,"tag":100,"props":101,"children":103},"h3",{"id":102},"jerarquía-de-conversion-value-y-cadena-de-postbacks",[104],{"type":38,"value":105},"Jerarquía de conversion value y cadena de postbacks",{"type":33,"tag":34,"props":107,"children":108},{},[109],{"type":38,"value":110},"Ya no hay un único 6-bit, sino tres postbacks: primero 0-2 días, segundo 3-7 días, tercero 8-35 días. Cada postback lleva su propio valor de 6-bit. Así puedes separar la señal de IAP temprana (install-to-purchase \u003C48h) en el segundo postback de la señal de retención (conteo de sesiones D3-D7). Antes debías comprimir todas las señales en 64 slots, ahora tienes 64×3=192 combinaciones (en práctica 64+64+64 secuencial).",{"type":33,"tag":34,"props":112,"children":113},{},[114],{"type":33,"tag":56,"props":115,"children":116},{},[117],{"type":38,"value":118},"Ejemplo de mapeo:",{"type":33,"tag":120,"props":121,"children":122},"ul",{},[123,134,144],{"type":33,"tag":124,"props":125,"children":126},"li",{},[127,132],{"type":33,"tag":56,"props":128,"children":129},{},[130],{"type":38,"value":131},"Postback 1 (0-2 días):",{"type":38,"value":133}," Estado IAP D0 (0=sin evento, 1-10=bracket de ingresos, 11-20=SKU específico, 21-63=blend personalizado)",{"type":33,"tag":124,"props":135,"children":136},{},[137,142],{"type":33,"tag":56,"props":138,"children":139},{},[140],{"type":38,"value":141},"Postback 2 (3-7 días):",{"type":38,"value":143}," Tier de retención D3-D7 (0=churn, 1-20=banda de conteo de sesiones, 21-40=profundidad de engagement)",{"type":33,"tag":124,"props":145,"children":146},{},[147,152],{"type":33,"tag":56,"props":148,"children":149},{},[150],{"type":38,"value":151},"Postback 3 (8-35 días):",{"type":38,"value":153}," Proxy LTV D30 (0-63=bracket de ingresos acumulado)",{"type":33,"tag":34,"props":155,"children":156},{},[157],{"type":38,"value":158},"Poder construir esta estructura requiere revisar el mapeo de conversion value cada semana. Conforme cambia el comportamiento del usuario, la señal más informativa se redistribuye entre slots.",{"type":33,"tag":100,"props":160,"children":162},{"id":161},"source-identifier-e-id-de-fuente-jerárquica",[163],{"type":38,"value":164},"Source identifier e ID de fuente jerárquica",{"type":33,"tag":34,"props":166,"children":167},{},[168],{"type":38,"value":169},"SKAdNetwork 4 expone las ID de app del publicador y redes de sub-publicadores en una jerarquía de cuatro niveles. Ya no solo ves \"vino de Meta\", sino \"Meta → Audience Network → Publisher App X\" (si el ad network lo expone). Así comparas el desempeño de sub-publicadores.",{"type":33,"tag":34,"props":171,"children":172},{},[173],{"type":38,"value":174},"En práctica, walled gardens como Facebook, TikTok y Google no exponen este field completamente, pero en redes programáticas y de video recompensado marca diferencia crítica.",{"type":33,"tag":100,"props":176,"children":178},{"id":177},"soporte-de-atribución-web-a-app",[179],{"type":38,"value":180},"Soporte de atribución web-a-app",{"type":33,"tag":34,"props":182,"children":183},{},[184,186,195],{"type":38,"value":185},"Desde iOS 17.4, SKAdNetwork soporta clicks web. Si un usuario toca un banner en Safari, va a App Store e instala, eso también entra en el postback SKAN. Para marcas que ejecutan estrategia UA conjunta web + app, combinar esta señal con campañas de ",{"type":33,"tag":187,"props":188,"children":192},"a",{"href":189,"rel":190},"https:\u002F\u002Fwww.roibase.com.tr\u002Fes\u002Fppc",[191],"nofollow",[193],{"type":38,"value":194},"Performance marketing (PPC)",{"type":38,"value":196}," permite calcular incrementalidad cross-channel.",{"type":33,"tag":41,"props":198,"children":200},{"id":199},"conversiones-modeladas-cómo-funciona-cuándo-confiar",[201],{"type":38,"value":202},"Conversiones modeladas: cómo funciona, cuándo confiar",{"type":33,"tag":34,"props":204,"children":205},{},[206],{"type":38,"value":207},"Las conversiones modeladas son el mecanismo donde MMP usa machine learning combinando postbacks SKAN, conteos de impresión\u002Fclick agregados y conteo de instalaciones para hacer atribución probabilística. AppsFlyer lo llama \"predictive analytics\", Adjust \"statistical modeling\" — técnicamente es lo mismo: regresión + inferencia Bayesiana.",{"type":33,"tag":34,"props":209,"children":210},{},[211],{"type":33,"tag":56,"props":212,"children":213},{},[214],{"type":38,"value":215},"Condiciones de confiabilidad:",{"type":33,"tag":217,"props":218,"children":219},"ol",{},[220,230,240],{"type":33,"tag":124,"props":221,"children":222},{},[223,228],{"type":33,"tag":56,"props":224,"children":225},{},[226],{"type":38,"value":227},"Volumen de datos suficiente:",{"type":38,"value":229}," Mínimo 500+ instalaciones diarias, 50+ conversiones por campaña (SKAN o IDFA). Por debajo, el modelo sobreajusta.",{"type":33,"tag":124,"props":231,"children":232},{},[233,238],{"type":33,"tag":56,"props":234,"children":235},{},[236],{"type":38,"value":237},"Consistencia de señal SKAN:",{"type":38,"value":239}," El mapeo de conversion value debe ser estable. Cambiar mapping diariamente impide que el modelo capture patrones históricos.",{"type":33,"tag":124,"props":241,"children":242},{},[243,248],{"type":33,"tag":56,"props":244,"children":245},{},[246],{"type":38,"value":247},"Calibración con test de incrementalidad:",{"type":38,"value":249}," Cada Q debes hacer al menos un geo-holdout o test basado en tiempo. Comparas números modelados contra lift real, aplicas corrección de sesgo.",{"type":33,"tag":34,"props":251,"children":252},{},[253,258],{"type":33,"tag":56,"props":254,"children":255},{},[256],{"type":38,"value":257},"Ejemplo de mal uso:",{"type":38,"value":259}," Lanzas campaña nueva, en 3 días llegan 20 instalaciones, MMP dice \"15 IAP modeladas\". Puro ruido — muestra insuficiente. Espera mínimo 2 semanas.",{"type":33,"tag":34,"props":261,"children":262},{},[263,268],{"type":33,"tag":56,"props":264,"children":265},{},[266],{"type":38,"value":267},"Ejemplo de buen uso:",{"type":38,"value":269}," Durante 30 días, Meta + TikTok + Google UAC generan 50K instalaciones, SKAN envía 3K postbacks de conversión. MMP lo modela en 8K. El mismo período, geo-test holdout (Francia vs Alemania) muestra +12% lift. Revisas 8K × 1.12 = 8.96K. Esto es confiable.",{"type":33,"tag":41,"props":271,"children":273},{"id":272},"madurez-post-lookback-señal-después-del-día-35",[274],{"type":38,"value":275},"Madurez post-lookback: señal después del día 35",{"type":33,"tag":34,"props":277,"children":278},{},[279],{"type":38,"value":280},"El tercer postback de SKAdNetwork 4 cubre eventos 8-35 días. Pasado el día 35, cero postbacks SKAN. Pero el comportamiento real del usuario no termina en día 35: retención D60, LTV D90, renovación anual de suscripción.",{"type":33,"tag":34,"props":282,"children":283},{},[284],{"type":33,"tag":56,"props":285,"children":286},{},[287],{"type":38,"value":288},"Enfoques de solución:",{"type":33,"tag":217,"props":290,"children":291},{},[292,302,312],{"type":33,"tag":124,"props":293,"children":294},{},[295,300],{"type":33,"tag":56,"props":296,"children":297},{},[298],{"type":38,"value":299},"Proyección LTV basada en cohortes:",{"type":38,"value":301}," Con datos SKAN + conversiones modeladas de los primeros 35 días, ajustas una curva LTV de cohorte (típicamente power law o exponential decay). Extrapolas LTV D90-D180. Es predicción, pero con cohorte de tamaño suficiente, la varianza baja.",{"type":33,"tag":124,"props":303,"children":304},{},[305,310],{"type":33,"tag":56,"props":306,"children":307},{},[308],{"type":38,"value":309},"Holdout cross-channel e incrementalidad:",{"type":38,"value":311}," Pausa un canal 2 semanas, mide cambios en instalaciones orgánicas e ingresos in-app. Calcula incrementalidad neta, backfill la señal post-35-días con este test. Hazlo trimestralmente.",{"type":33,"tag":124,"props":313,"children":314},{},[315,320],{"type":33,"tag":56,"props":316,"children":317},{},[318],{"type":38,"value":319},"Enriquecimiento de eventos server-to-server:",{"type":38,"value":321}," Envía eventos tardíos no en postback SKAN (renovación de suscripción, IAP high-ticket) a MMP vía server-to-server. No es determinístico pero crea patrón en agregado. MMP lo usa como input al modelo.",{"type":33,"tag":34,"props":323,"children":324},{},[325,330],{"type":33,"tag":56,"props":326,"children":327},{},[328],{"type":38,"value":329},"Cuidado:",{"type":38,"value":331}," Apple no explícitamente prohibe enviar señales server-side fuera de SKAN, pero si MMP lo presenta como atribución determinística a nivel de usuario, viola policy. Usarlo como input de modelado agregado está bien.",{"type":33,"tag":41,"props":333,"children":335},{"id":334},"escenario-de-setup-práctico",[336],{"type":38,"value":337},"Escenario de setup práctico",{"type":33,"tag":34,"props":339,"children":340},{},[341],{"type":38,"value":342},"Supongamos app de fitness basada en suscripción. Base de instalaciones iOS 60%, objetivo 100K instalaciones nuevas mensuales. Tu stack de atribución:",{"type":33,"tag":344,"props":345,"children":346},"table",{},[347,376],{"type":33,"tag":348,"props":349,"children":350},"thead",{},[351],{"type":33,"tag":352,"props":353,"children":354},"tr",{},[355,361,366,371],{"type":33,"tag":356,"props":357,"children":358},"th",{},[359],{"type":38,"value":360},"Capa",{"type":33,"tag":356,"props":362,"children":363},{},[364],{"type":38,"value":365},"Herramienta",{"type":33,"tag":356,"props":367,"children":368},{},[369],{"type":38,"value":370},"Rol",{"type":33,"tag":356,"props":372,"children":373},{},[374],{"type":38,"value":375},"Rango de confianza",{"type":33,"tag":377,"props":378,"children":379},"tbody",{},[380,404,427,450,473],{"type":33,"tag":352,"props":381,"children":382},{},[383,389,394,399],{"type":33,"tag":384,"props":385,"children":386},"td",{},[387],{"type":38,"value":388},"Postback SKAN",{"type":33,"tag":384,"props":390,"children":391},{},[392],{"type":38,"value":393},"AppsFlyer",{"type":33,"tag":384,"props":395,"children":396},{},[397],{"type":38,"value":398},"Conversion value + source ID primeros 35 días",{"type":33,"tag":384,"props":400,"children":401},{},[402],{"type":38,"value":403},"95% (Apple verifica)",{"type":33,"tag":352,"props":405,"children":406},{},[407,412,417,422],{"type":33,"tag":384,"props":408,"children":409},{},[410],{"type":38,"value":411},"Conversiones modeladas",{"type":33,"tag":384,"props":413,"children":414},{},[415],{"type":38,"value":416},"AppsFlyer Predictive",{"type":33,"tag":384,"props":418,"children":419},{},[420],{"type":38,"value":421},"Atribución probabilística con SKAN + agregado",{"type":33,"tag":384,"props":423,"children":424},{},[425],{"type":38,"value":426},"70-80% (calibrado en geo-test)",{"type":33,"tag":352,"props":428,"children":429},{},[430,435,440,445],{"type":33,"tag":384,"props":431,"children":432},{},[433],{"type":38,"value":434},"IDFA opt-in",{"type":33,"tag":384,"props":436,"children":437},{},[438],{"type":38,"value":439},"Datos brutos AppsFlyer",{"type":33,"tag":384,"props":441,"children":442},{},[443],{"type":38,"value":444},"Segmento determinístico 7%",{"type":33,"tag":384,"props":446,"children":447},{},[448],{"type":38,"value":449},"100% (pero baja representatividad)",{"type":33,"tag":352,"props":451,"children":452},{},[453,458,463,468],{"type":33,"tag":384,"props":454,"children":455},{},[456],{"type":38,"value":457},"Incrementalidad",{"type":33,"tag":384,"props":459,"children":460},{},[461],{"type":38,"value":462},"GeoLift (Meta) + holdout custom",{"type":33,"tag":384,"props":464,"children":465},{},[466],{"type":38,"value":467},"Medición lift por canal",{"type":33,"tag":384,"props":469,"children":470},{},[471],{"type":38,"value":472},"90% (estadístico, costoso)",{"type":33,"tag":352,"props":474,"children":475},{},[476,481,486,491],{"type":33,"tag":384,"props":477,"children":478},{},[479],{"type":38,"value":480},"Proyección LTV",{"type":33,"tag":384,"props":482,"children":483},{},[484],{"type":38,"value":485},"dbt + BigQuery interno",{"type":33,"tag":384,"props":487,"children":488},{},[489],{"type":38,"value":490},"Curve fit cohorte, pronóstico 90-180 días",{"type":33,"tag":384,"props":492,"children":493},{},[494],{"type":38,"value":495},"60-70% (accuracy modelo)",{"type":33,"tag":34,"props":497,"children":498},{},[499],{"type":33,"tag":56,"props":500,"children":501},{},[502],{"type":38,"value":503},"Flujo:",{"type":33,"tag":217,"props":505,"children":506},{},[507,512,517,522,527],{"type":33,"tag":124,"props":508,"children":509},{},[510],{"type":38,"value":511},"Extrae postbacks SKAN diariamente por campaña.",{"type":33,"tag":124,"props":513,"children":514},{},[515],{"type":38,"value":516},"Toma conversiones modeladas de AppsFlyer, pero en cálculos de CPA a nivel de campaña, deja margen de confianza ±20%.",{"type":33,"tag":124,"props":518,"children":519},{},[520],{"type":38,"value":521},"Ejecuta geo-holdout mensual (ej: pausa Meta en España, continúa en Portugal). Calcula lift neto.",{"type":33,"tag":124,"props":523,"children":524},{},[525],{"type":38,"value":526},"Trimestral, actualiza curve LTV de cohorte. Regresiona correlación entre señal SKAN primeros 35 días y revenue D90.",{"type":33,"tag":124,"props":528,"children":529},{},[530],{"type":38,"value":531},"Asigna presupuesto con promedio ponderado de SKAN + modelada + incrementalidad.",{"type":33,"tag":34,"props":533,"children":534},{},[535],{"type":38,"value":536},"¿Caro? Sí. Pero si iOS es 60% de tráfico y CAC >$30\u002Fusuario, el costo de error de atribución es mucho más alto.",{"type":33,"tag":41,"props":538,"children":540},{"id":539},"tradeoffs-y-argumentos-contrarios",[541],{"type":38,"value":542},"Tradeoffs y argumentos contrarios",{"type":33,"tag":34,"props":544,"children":545},{},[546],{"type":33,"tag":56,"props":547,"children":548},{},[549],{"type":38,"value":550},"\"Las conversiones modeladas no son confiables, ¿por qué usarlas?\"",{"type":33,"tag":34,"props":552,"children":553},{},[554],{"type":38,"value":555},"Porque no hay alternativa. SKAN es agregado, IDFA es 7%, sin señal es volar a ciegas. Conversiones modeladas son imperfectas pero calibradas. Con tests de holdout corriges sesgo y obtienes 75-80% accuracy — muchísimo mejor que cero data.",{"type":33,"tag":34,"props":557,"children":558},{},[559],{"type":33,"tag":56,"props":560,"children":561},{},[562],{"type":38,"value":563},"\"¿SKAdNetwork 4 es suficiente, debo esperar a la 5?\"",{"type":33,"tag":34,"props":565,"children":566},{},[567],{"type":38,"value":568},"SKAdNetwork 5 (iOS 18, anunciada verano 2024) promete source ID más granular y lookback window más largo, pero adoption aún es incompleta. Base de usuarios iOS 17 es >70%, iOS 18 ~30%. Es pragmático construir stack en SKAdNetwork 4 e incorporar features de 5 incrementalmente.",{"type":33,"tag":34,"props":570,"children":571},{},[572],{"type":33,"tag":56,"props":573,"children":574},{},[575],{"type":38,"value":576},"\"¿Necesito test de incrementalidad para cada campaña?\"",{"type":33,"tag":34,"props":578,"children":579},{},[580],{"type":38,"value":581},"No. Es costoso y lento. Un test trimestral por canal es suficiente (Meta Q1, TikTok Q2, Google Q3). Campañas pequeñas confían en blend modelada + SKAN; movimientos de presupuesto grandes, testa.",{"type":33,"tag":583,"props":584,"children":585},"hr",{},[],{"type":33,"tag":34,"props":587,"children":588},{},[589],{"type":38,"value":590},"La atribución iOS ya no es determinística, es probabilística + agregada + test-driven. Mapear correctamente los tres postbacks de SKAdNetwork 4, calibrar conversiones modeladas con tests de holdout y proyectar LTV D35+ con cohort curves es el nuevo estándar operacional 2026. Construye tu stack sobre estas tres capas — SKAN + modelada + incrementalidad — y pasarás de volar ciego a asignación de presupuesto data-informed en iOS.",{"title":17,"searchDepth":592,"depth":592,"links":593},3,[594,596,601,602,603,604],{"id":43,"depth":595,"text":46},2,{"id":90,"depth":595,"text":93,"children":597},[598,599,600],{"id":102,"depth":592,"text":105},{"id":161,"depth":592,"text":164},{"id":177,"depth":592,"text":180},{"id":199,"depth":595,"text":202},{"id":272,"depth":595,"text":275},{"id":334,"depth":595,"text":337},{"id":539,"depth":595,"text":542},"markdown","content:es:marketing:ios-17-attribution-stack-post-att.md","content","es\u002Fmarketing\u002Fios-17-attribution-stack-post-att.md","es\u002Fmarketing\u002Fios-17-attribution-stack-post-att","md",1782050761654]