Fix CTA: Reemplazar sistema dual HTML/JS con sistema PHP robusto - Issue #126

PROBLEMA RAÍZ:
Había DOS sistemas de A/B testing en conflicto:
1. Sistema PHP completo en cta-ab-testing.php (NO usado)
2. Sistema HTML/JS en single.php + main.js (ambas variantes hardcodeadas con display:none)

El JavaScript no ejecutaba de forma confiable, causando que el CTA:
- A veces no apareciera (ambas variantes quedaban ocultas)
- A veces aparecieran ambas variantes simultáneamente

SOLUCIÓN:
Activar el sistema PHP que ya existía. Más robusto porque:
- Renderiza solo UNA variante server-side (sin timing issues)
- Usa cookies para persistencia de 30 días por usuario
- Elimina race conditions de JavaScript

CAMBIOS:

1. cta-ab-testing.php:
   - Actualizar URLs de '#' a home_url('/catalogo') y home_url('/planes')
   - Cambiar apus_render_cta() para usar .cta-section (no .apus-cta-wrapper)
   - Eliminar atributo data-cta-action (innecesario)

2. single.php:
   - ELIMINAR 29 líneas de HTML duplicado (variantes A y B hardcodeadas)
   - REEMPLAZAR con: <?php apus_display_cta(); ?>

3. main.js:
   - ELIMINAR 26 líneas de lógica A/B en JavaScript
   - AGREGAR comentario: CTA manejado por PHP + cta-tracking.js

4. cta-tracking.js:
   - Actualizar selectores: .apus-cta-wrapper → .cta-section (2 ocurrencias)

ARQUITECTURA FINAL:
- PHP: Selección de variante + renderizado server-side
- cta-tracking.js: Solo tracking de Analytics (clicks/impresiones)
- Cookies: Persistencia de variante asignada

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
FrankZamora
2025-11-08 15:42:05 -06:00
parent 3dadcb947b
commit 8e640cf047
4 changed files with 16 additions and 66 deletions

View File

@@ -23,33 +23,12 @@ window.addEventListener('scroll', function() {
* - localStorage state
*/
// A/B Testing for CTA sections
document.addEventListener('DOMContentLoaded', function() {
const ctaVariant = Math.random() < 0.5 ? 'A' : 'B';
if (ctaVariant === 'A') {
const variantA = document.querySelector('.cta-variant-a');
if (variantA) variantA.style.display = 'block';
} else {
const variantB = document.querySelector('.cta-variant-b');
if (variantB) variantB.style.display = 'block';
}
document.querySelectorAll('.cta-button').forEach(button => {
button.addEventListener('click', function() {
const variant = this.getAttribute('data-cta-variant');
console.log('CTA clicked - Variant: ' + variant);
if (typeof gtag !== 'undefined') {
gtag('event', 'cta_click', {
'event_category': 'CTA',
'event_label': 'Variant_' + variant,
'value': variant
});
}
});
});
});
/**
* CTA A/B Testing
* Handled by cta-ab-testing.php (PHP) and cta-tracking.js
* - PHP renders only ONE variant based on cookie
* - cta-tracking.js handles Analytics tracking
*/
// Contact Modal - Dynamic Loading
function loadContactModal() {