Google Ads, Analytics y SEO técnico para abogadacuellocordoba.com.ar
Este documento resume qué debe tocar la dev de Lovable para que el sitio actual mida leads de WhatsApp, teléfono y formulario, quede verificable en Google Ads y mejore su base técnica para Google Search.
1. Diagnóstico del scrape actual
El scrape de C:\Work\MCUELLO\scrape-output.zip mostró:
| Elemento | Estado actual | Acción requerida |
|---|---|---|
| GA4 / gtag | No detectado | Instalar Google tag global. |
| Google Ads conversion tracking | No detectado | Configurar AW-18068506121 y eventos de conversión. |
| dataLayer / window.gtag | No existe | Crear window.dataLayer y window.gtag. |
| Canonical | No hay | Agregar canonical al dominio final. |
| JSON-LD | No hay | Agregar schema LegalService. |
| Idioma HTML | lang="en" | Cambiar a lang="es-AR". |
2. Variables / IDs que hay que usar
| Nombre | Valor | Uso |
|---|---|---|
| GA4 | G-XX2DKSH0J4 | Analytics / eventos. |
| Google Ads | AW-18068506121 | Tag base y conversiones Ads. |
5493513972209 | Links públicos del sitio actual. | |
| Dominio final | https://abogadacuellocordoba.com.ar/ | Canonical, JSON-LD, Google Ads. |
Los labels de conversión de Google Ads todavía pueden quedar vacíos hasta que Google Ads permita crearlos/verificarlos. El formato esperado será AW-18068506121/LABEL.
3. Agregar Google tag global en el Head
En Lovable, buscar la configuración de código global del sitio, normalmente algo como Settings → Custom Code → Head, o el archivo/componente global de layout.
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XX2DKSH0J4"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){ dataLayer.push(arguments); }
window.gtag = gtag;
gtag('js', new Date());
gtag('config', 'G-XX2DKSH0J4');
gtag('config', 'AW-18068506121');
</script>
window.dataLayer y window.gtag, y deben verse requests hacia googletagmanager.com / Google Analytics.
4. Crear función central para eventos de lead
Si Lovable permite agregar JS global, crear una función reutilizable. Si no, repetir esta lógica en los handlers de cada botón.
<script>
window.trackLegalLead = function(eventName, params) {
var payload = Object.assign({ event_category: 'lead' }, params || {});
window.dataLayer = window.dataLayer || [];
window.dataLayer.push(Object.assign({ event: eventName }, payload));
if (typeof window.gtag === 'function') {
window.gtag('event', eventName, payload);
}
};
</script>
5. Medir CTAs de WhatsApp, teléfono y formulario
Todo link a WhatsApp debe disparar este evento antes de abrir WhatsApp:
window.trackLegalLead('ads_whatsapp_click', {
service_area: 'general',
cta_location: 'hero' // hero, contact, floating, footer, etc.
});
Teléfono
Todo link tel: debe disparar:
window.trackLegalLead('ads_phone_click', {
service_area: 'general',
cta_location: 'contact'
});
Formulario
En el submit del formulario, antes de enviar/redirigir:
window.trackLegalLead('ads_form_submit', {
service_area: selectedArea || 'general',
cta_location: 'contact_form'
});
6. Preparar conversiones de Google Ads
Cuando Google Ads entregue los labels de conversión, extender la función central para enviar conversion.
var GOOGLE_ADS_ID = 'AW-18068506121';
var CONVERSION_LABELS = {
ads_whatsapp_click: '', // ejemplo futuro: 'AW-18068506121/abc123'
ads_phone_click: '',
ads_form_submit: ''
};
window.trackLegalLead = function(eventName, params) {
var payload = Object.assign({ event_category: 'lead' }, params || {});
window.dataLayer = window.dataLayer || [];
window.dataLayer.push(Object.assign({ event: eventName }, payload));
if (typeof window.gtag === 'function') {
window.gtag('event', eventName, payload);
var sendTo = CONVERSION_LABELS[eventName];
if (sendTo) {
window.gtag('event', 'conversion', Object.assign({ send_to: sendTo }, payload));
}
}
};
No inventar labels. Dejar vacío hasta copiarlos desde Google Ads.
7. SEO técnico global
Agregar o corregir en el head:
<html lang="es-AR">
<link rel="canonical" href="https://abogadacuellocordoba.com.ar/" />
<meta name="description" content="Asesoramiento jurídico personalizado en Córdoba en derecho civil, comercial, contractual, de consumo y laboral." />
<meta property="og:type" content="website" />
<meta property="og:title" content="Dra. María del Milagro Cuello | Abogada en Córdoba" />
<meta property="og:description" content="Asesoramiento jurídico personalizado en Córdoba." />
<meta property="og:url" content="https://abogadacuellocordoba.com.ar/" />
8. JSON-LD LegalService
Agregar en el head:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LegalService",
"name": "Dra. María del Milagro Cuello",
"url": "https://abogadacuellocordoba.com.ar/",
"telephone": "+54 9 351 397 2209",
"areaServed": [
{ "@type": "City", "name": "Córdoba" },
{ "@type": "AdministrativeArea", "name": "Córdoba" }
],
"address": {
"@type": "PostalAddress",
"addressLocality": "Córdoba",
"addressRegion": "Córdoba",
"addressCountry": "AR"
}
}
</script>
9. Política editorial
El foco comercial/Ads del sitio debe mantenerse en:
- Derecho civil
- Derecho comercial
- Derecho contractual
- Derecho de consumo
- Derecho laboral
10. Checklist de aceptación
- [ ] El HTML final tiene
lang="es-AR". - [ ] Existe
window.dataLayer. - [ ] Existe
window.gtag. - [ ] Carga
G-XX2DKSH0J4. - [ ] Carga
AW-18068506121. - [ ] Click en WhatsApp dispara
ads_whatsapp_click. - [ ] Click en teléfono dispara
ads_phone_click. - [ ] Submit de formulario dispara
ads_form_submit. - [ ] Hay canonical a
https://abogadacuellocordoba.com.ar/. - [ ] Hay JSON-LD
LegalService. - [ ] No hay mojibake: no deben verse secuencias rotas como
Ã,Âo el s?mbolo de reemplazo Unicode en textos visibles.
11. Cómo verificar rápido
- Abrir el sitio publicado.
- DevTools → Console: ejecutar
window.dataLayery confirmar que existe. - DevTools → Network: filtrar
gtag,collect,googletagmanager. - Hacer click en WhatsApp / teléfono / formulario y revisar que se agreguen eventos al
dataLayer. - Pasar el sitio por Google Tag Assistant si se quiere una verificación visual.