Cómo añadir un aviso de paywall en una app hecha con Cursor sin programador
Un paywall suave en una app hecha con Cursor: cuando un usuario gratis llega a una función de pago, un modal explica la mejora y enlaza a tu página de precios, segmentado por plan, medido y editable sin release.
- Tiempo
- ● 20 minutos
- Precio
- Prueba gratis de 14 días, sin tarjeta
- Quién lo hace
- Tú y Cursor Agent
Ejemplo: un aviso de mejora en una app hecha con Cursor
Un CRM hecho en Cursor. Los usuarios Starter que pulsan Email masivo (data-tour="bulk-email") en /deals ven “Las secuencias están en Pro” con enlace a la página de mejora.
Este formato forma parte del plan Pro. Cada cuenta nueva empieza con una prueba gratis de 14 días con todos los formatos y reglas de audiencia, sin tarjeta. Al terminar no se borra nada y lo publicado se sigue mostrando; los tours y tooltips siguen gratis en el plan Free.
Cómo añadir el aviso de paywall en una app hecha con Cursor, paso a paso
- Paso 01
Copia tu snippet de Clew
Crea una cuenta gratis (o inicia sesión), añade tu sitio y abre Admin → Resumen. Haz clic en la línea de la tarjeta del widget para copiarla: ya lleva la clave real de tu sitio en lugar del marcador.
<!-- Clew: sustituye PEGA_AQUI_TU_CLAVE por la clave del sitio de Admin > Resumen --> <script src="https://tryclew.io/widget/PEGA_AQUI_TU_CLAVE.js" async></script>

Paso 1 · ilustración esquemática - Paso 02
Abre el repositorio en Cursor, modo Agent
Abre la carpeta del proyecto en Cursor y el chat en modo Agent, para que edite los archivos por sí mismo.

Paso 2 · ilustración esquemática - Paso 03
Envía el prompt con tu clave
Sustituye
PEGA_AQUI_TU_CLAVEpor tu clave y envíalo. Cursor lee el repositorio y elige el archivo raíz correcto de la lista del prompt.Añade el widget de onboarding de Clew a esta app. Inserta esta etiqueta exacta una sola vez para que cargue en todas las páginas, también tras los cambios de ruta del lado del cliente: <script src="https://tryclew.io/widget/PEGA_AQUI_TU_CLAVE.js" async></script> Busca el archivo HTML raíz o el layout raíz de este proyecto (index.html en Vite, app/layout.tsx con next/script en Next.js App Router, app.head.script de nuxt.config.ts en Nuxt, src/app.html en SvelteKit) y añade ahí la etiqueta. Cuando el usuario con sesión esté cargado, y cada vez que cambie la suscripción, llama a Clew.identify({ plan: <id del plan actual del usuario como cadena, p. ej. "free"> }). Si el widget aún puede no haber cargado, define primero el stub de cola: window.TutorKit = window.TutorKit || { q: [], identify: function (p) { this.q.push(["identify", p]); } }; y llama a window.TutorKit.identify(...). Añade un atributo data-tour a los botones de las funciones de pago (por ejemplo data-tour="export"). No añadas lógica propia de pagos, bloqueo o paywall y no cambies lo que hacen los botones. Reglas: - Usa la URL del script exactamente como está. No la descargues, no la empaquetes ni instales un paquete npm. - Si el proyecto define una Content-Security-Policy, permite https://tryclew.io en script-src y connect-src. - No cambies nada más y enséñame el diff.
Paso 3 · ilustración esquemática - Paso 04
Acepta el diff, haz commit y despliega
Revisa el diff —la etiqueta en un archivo raíz y los pequeños añadidos del prompt—, acéptalo, haz commit y push. Tu hosting despliega como siempre.

Paso 4 · ilustración esquemática - Paso 05
Escribe el aviso de mejora
En Clew abre Flujos → + Nuevo flujo y elige Ventana modal. Un paso: un título con el beneficio (“Exportar a CSV está en Pro”), una frase de valor y, en Texto del enlace / URL del enlace, el botón y la URL de tu página de precios o checkout.

Paso 5 · ilustración esquemática - Paso 06
Elige dónde, cuándo y a quién se muestra
En el mismo editor, completa Dónde mostrarlo (URL de la página), Cuándo mostrarlo, Segmentación de audiencia y Frecuencia. Estos son los ajustes del ejemplo de arriba:
Ajuste Valor Formato Ventana modal Dónde mostrarlo (URL de la página) Sección por prefijo /dealsCuándo mostrarlo Al hacer clic en un elemento: [data-tour="bulk-email"]Segmentación de audiencia Propiedad planes igual astarterFrecuencia En cada visita 
Paso 6 · ilustración esquemática - Paso 07
Publica y compruébalo en el sitio real
Pon Estado en Publicado y guarda. Abre la página en una ventana privada: Clew recuerda quién ya vio un elemento de “una vez”, así que tu navegador habitual puede saltárselo. Las vistas, finalizaciones y abandonos aparecen en las estadísticas.

Paso 7 · ilustración esquemática
Errores comunes: aviso de paywall en una app hecha con Cursor
Revisa antes de aceptar
Los agentes a veces “mejoran” código cercano. Rechaza los cambios fuera de los archivos que menciona el prompt; el aviso de paywall no necesita nada más.
El desarrollo local no es producción
El widget también funciona en localhost, útil para probar, pero las estadísticas de visitantes y la señal de widget activo llegan de la app desplegada.
El aviso no sustituye la comprobación de acceso
Si la función de pago es accesible para usuarios gratis en tu app, el modal aparece pero la función sigue funcionando detrás. Comprueba que el servidor aplica el plan; el aviso es solo el mensaje.
Actualiza la propiedad tras la mejora
Las propiedades viven en el navegador hasta que la app envía un valor nuevo. Llama a Clew.identify({ plan: "pro" }) tras una mejora correcta, o el nuevo cliente seguirá viendo el aviso.
Preguntas y respuestas
¿Puedo hacer un test A/B con dos textos?
Sí, con el test A/B del editor (Pro); compara las finalizaciones en las estadísticas.
¿Qué modelo de Cursor uso?
Cualquier modelo en modo Agent sirve; la tarea es pequeña y el prompt nombra los archivos.
¿Clew cobra el pago?
No. El botón enlaza a tu propia página de precios o checkout; Clew nunca gestiona tarjetas, suscripciones ni accesos.
¿El aviso de paywall es gratis?
Necesita el formato modal y una regla de audiencia, ambos en Pro. La prueba de 14 días los incluye, sin tarjeta.
Qué más puedes añadir en una app hecha con Cursor
- Cómo crear un tour de producto en una app hecha con Cursor sin programador
- Cómo añadir un checklist de onboarding en una app hecha con Cursor sin programador
- Cómo configurar el onboarding de usuarios en una app hecha con Cursor sin programador
Aviso de paywall en otras plataformas
- ShopifyCómo añadir un aviso de paywall en Shopify sin programador
- Google Tag ManagerCómo añadir un aviso de paywall con Google Tag Manager sin programador
- LovableCómo añadir un aviso de paywall en una app de Lovable sin programador
- Bolt.newCómo añadir un aviso de paywall en una app de Bolt.new sin programador
- v0Cómo añadir un aviso de paywall en una app de v0 sin programador
- ReplitCómo añadir un aviso de paywall en una app de Replit sin programador
- Claude CodeCómo añadir un aviso de paywall con Claude Code sin programador
- ChatGPT CodexCómo añadir un aviso de paywall con ChatGPT Codex sin programador
- Qwen CodeCómo añadir un aviso de paywall con Qwen Code sin programador