Postbacks y webhooks de instalación, sin rodeos
Un postback le dice a una red publicitaria que su clic acabó en instalación. Un webhook se lo dice a tu propio servidor. Cómo funcionan los dos y cómo recibirlos de forma segura.
Las redes publicitarias y las plataformas de afiliación pagan por instalación, así que necesitan enterarse de cada una. Tu proveedor de atribución se lo cuenta llamando a una URL que te dan ellas: eso es un postback. Si apuntas la misma llamada a tu propio backend, es un webhook.
El viaje de ida y vuelta de un click ID
Red publicitaria
Appy
- 01El clic
GET acme.appy.to/spring?clickid=a1b2c3La red añade su click ID a tu enlace.
- 02La instalación
install → /spring clickid = a1b2c3La primera apertura se empareja con ese clic.
- 03El postback
GET postback.network.example/install ?click_id=a1b2c3El mismo ID vuelve a la red, que cuenta una conversión.
Postback
- A una red publicitaria
- GET, valores en la URL
- Lleva el click ID de la red
Webhook
- A tu propio servidor
- POST, cuerpo JSON
- Lleva la instalación, el enlace y el evento
Un receptor seguro comprueba cuatro cosas
Verifica un webhook de Appy
Node.js
import crypto from 'node:crypto';
export function verifyAppySignature(header, rawBody, secret) {
const parts = Object.fromEntries(header.split(',').map((part) => part.split('=')));
const age = Math.abs(Date.now() / 1000 - Number(parts.t));
if (!parts.t || !parts.v1 || age > 300) return false;
const expected = crypto.createHmac('sha256', secret).update(`${parts.t}.${rawBody}`).digest('hex');
if (parts.v1.length !== expected.length) return false;
return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(parts.v1));
}Cuando tu endpoint está caído
- de timeout por petición
- 10 s
- reintentos con 429, 5xx o timeout
- 5
- de espera antes del último
- 12 h
- de registro de entregas
- 30 días
de timeout por petición
reintentos con 429, 5xx o timeout
de espera antes del último
de registro de entregas
Adónde envía Appy las instalaciones
En el plan Enterprise, hasta 10 postbacks por app, cada uno probado desde el panel antes de activarlo.
Nueva instalación
firmado y con reintentos
- Red de afiliación o CPISu click ID, de vuelta
- Tu backendWebhook JSON completo
- Tu CRMSolo compras
- Optimización de Meta o GoogleNo disponible
Sigue leyendo
Preguntas
¿Qué es un postback S2S?
Una llamada de servidor a servidor que le dice a una red publicitaria que un clic se convirtió en instalación, con su click ID.
¿Cómo evito contar dos veces?
Los reintentos reutilizan el mismo ID de entrega. Ignora los IDs que ya hayas procesado.
¿Cómo sé que un webhook viene de verdad de Appy?
Comprueba la cabecera Appy-Signature y rechaza todo lo que tenga más de cinco minutos.
¿Puedo enviar postbacks a Meta o Google Ads?
No para optimizar campañas. Los postbacks sirven para redes de afiliación, herramientas de influencers y tus propios sistemas.
Seguir explorando
Atribución de Apple Ads sin MMP
Qué campaña y qué palabra clave de Apple Ads trajeron cada instalación, con un token y una llamada desde tu servidor.
Cómo descifrar el Meta Install Referrer en Android
Lee y descifra la campaña, el conjunto de anuncios y el anuncio de Facebook e Instagram detrás de cada instalación en Android.
Deferred deep linking sin SDK: cómo funciona realmente por dentro
Puedes llevar el contexto de un enlace a través de una instalación sin incrustar un SDK de atribución. Esto es lo que sobrevive a la frontera de la tienda en Android e iOS, lo que se rompe y el coste en privacidad de cada alternativa.
¿Buscas otra cosa? Explora todos los temas en el blog.
Manda cada instalación adonde tiene que ir
Appy atribuye las instalaciones de enlaces, códigos QR, Apple Ads, Google Ads y Meta, y envía cada una, firmada y con reintentos.