Organizador
Marketing y crecimiento8 min

Guía de integración de tracking

Conecta tu plataforma de inscripción con BibSync para registrar inscripciones generadas por partners. Elige el método que mejor encaje con tu configuración.

Google Tag Manager

Si tu sitio de inscripción usa GTM, esta es la forma más rápida de integrar. No necesitas cambios de código en tu web, solo añadir dos etiquetas en la consola de GTM.

Recomendado
1

Etiqueta base

Crea una etiqueta HTML personalizada. Configura el trigger en Todas las páginas.

HTML
<script src="https://bibsync.link/v1/pixel.js" async></script>
<script>
  window.__bsq = window.__bsq || [];
  window.__bsq.push(['init', 'YOUR_CAMPAIGN_SLUG']);
</script>

Sustituye YOUR_CAMPAIGN_SLUG por el slug de tu campaña desde la configuración de tracking de BibSync.

2

Etiqueta de registro

Crea otra etiqueta HTML personalizada. Configura el trigger para que se dispare solo en tu página de gracias o confirmación.

HTML
<script>
  window.__bsq = window.__bsq || [];
  window.__bsq.push(['track', {
    orderId: {{Transaction ID}},
    amount: {{Purchase Value}}
  }]);
</script>

Sustituye {{Transaction ID}} y {{Purchase Value}} por tus variables de GTM.

3

Evento dataLayer opcional

Si tu checkout ya envía datos de compra al dataLayer, mapea esos campos dentro de tu etiqueta de registro.

JavaScript
dataLayer.push({
  'event': 'purchase',
  'transactionId': 'ORDER-123',
  'transactionTotal': 49.99
});

Lanza este evento antes de que cargue la página de confirmación para que GTM pueda disparar la etiqueta de registro con los valores finales.

4

Publica y prueba

Publica el contenedor de GTM, completa una inscripción de prueba real y confirma que el evento aparece en BibSync.

JavaScript personalizado

Usa esta opción si puedes editar directamente tus páginas de inscripción y el flujo de confirmación.

1

Script base

Añade el script base de BibSync a cada página de inscripción donde llegue tráfico de partners.

HTML
<!-- BibSync Tracking Pixel -->
<script src="https://bibsync.link/v1/pixel.js" async></script>
<script>
  window.__bsq = window.__bsq || [];
  window.__bsq.push(['init', 'YOUR_CAMPAIGN_SLUG']);
</script>

Sustituye YOUR_CAMPAIGN_SLUG por el slug de tu campaña desde la configuración de tracking de BibSync.

2

Script de registro

Lanza el evento de registro tras una compra correcta en la página de confirmación.

HTML
<script>
  window.__bsq = window.__bsq || [];
  window.__bsq.push(['track', {
    orderId: 'YOUR_ORDER_ID',
    amount: 49.99
  }]);
</script>

Sustituye YOUR_ORDER_ID y 49.99 por tu ID de pedido real y el valor de compra.

3

Verifica el flujo

Haz una inscripción de prueba y confirma que el clic y la inscripción aparecen en BibSync.

Webhook server-to-server

Firma el payload JSON en bruto con el secreto de tu campaña usando HMAC-SHA256 y envía el digest en la cabecera X-BibSync-Signature.

Elige esta opción solo si tu equipo puede enviar peticiones backend firmadas. Es la configuración más flexible, pero requiere trabajo de ingeniería.

Cómo funciona

  • Captura el click ID de BibSync cuando un partner envía un visitante a tu sitio.
  • Guarda ese click ID hasta que se complete la inscripción.
  • Envía la inscripción completada desde tu backend a BibSync con una firma HMAC.

Endpoint

HTTP
POST https://bibsync.link/api/v1/s2s

Ejemplo de payload

JSON
{
  "clickId": "bs_clk_abc123xyz789abc123",
  "externalOrderId": "RTS-998877",
  "amount": 25.00,
  "currency": "EUR"
}

Ejemplo en Node.js

JavaScript
const crypto = require('crypto');
const secret = process.env.BIBSYNC_S2S_SECRET;
const body = JSON.stringify({
  clickId: req.query.bs_id,
  externalOrderId: order.id,
  amount: order.totalAmount,
  currency: 'EUR',
});
const signature = crypto
  .createHmac('sha256', secret)
  .update(body)
  .digest('hex');

await fetch('https://bibsync.link/api/v1/s2s', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-BibSync-Signature': signature,
  },
  body,
});

Ejemplo en Python

Python
import hmac, hashlib, json, os, requests

secret = os.environ["BIBSYNC_S2S_SECRET"]
body = json.dumps({
    "clickId": request.args.get("bs_id"),
    "externalOrderId": order.id,
    "amount": order.total_amount,
    "currency": "EUR",
})
signature = hmac.new(
    secret.encode(), body.encode(), hashlib.sha256
).hexdigest()

requests.post(
    "https://bibsync.link/api/v1/s2s",
    headers={
        "Content-Type": "application/json",
        "X-BibSync-Signature": signature,
    },
    data=body,
)

FAQ y resolución de problemas

¿Cómo pruebo la integración?

Usa un enlace real de partner, completa una inscripción de prueba en tu sitio y verifica después que el clic y la inscripción aparecen en BibSync.

¿Por qué veo partner clicks at risk?

Significa que BibSync recibió clics de partners, pero esos visitantes todavía no han generado una inscripción dentro de la ventana esperada.

¿Qué pasa si el tracking se queda offline?

BibSync avisa a los organizadores tras 24 horas sin datos y pausa automáticamente la campaña tras 48 horas hasta que el tracking se restaure.

¿Puedo usar más de un método de integración?

Usa un único método principal por campaña para evitar inscripciones duplicadas. Si estás migrando, desactiva el flujo anterior antes de habilitar el nuevo.

¿Cuánto tardan en aparecer los eventos?

Los clics suelen aparecer en segundos. Las inscripciones deberían aparecer poco después de que cargue la página de confirmación o de que se acepte la petición S2S.