Keywords que llevan tráfico a URLs sin conversión

Identifica keywords con clics significativos en GSC que aterrizan en URLs sin ninguna conversión en GA4. Revela oportunidades para mejorar el CRO de páginas con demanda comprobada.

keywords-trafico-sin-conversion.sql
-- Keywords con tráfico que aterrizan en URLs sin conversión
-- Oportunidades de CRO para páginas con demanda comprobada
WITH gsc_keywords AS (
  SELECT
    query AS keyword,
    url,
    SUM(clicks) AS clics_gsc,
    SUM(impressions) AS impresiones,
    ROUND(SUM(sum_top_position + impressions) / SUM(impressions), 2) AS posicion_media
  FROM
    `your-project.searchconsole.searchdata_url_impression`
  WHERE
    data_date BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 28 DAY) AND CURRENT_DATE()
    AND search_type = 'WEB'
    AND is_anonymized_query = FALSE
  GROUP BY
    keyword, url
  HAVING
    clics_gsc >= 10
),
urls_con_conversion AS (
  SELECT DISTINCT
    REGEXP_EXTRACT(
      (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'),
      r'(https?://[^?#]+)'
    ) AS url_normalizada
  FROM
    `your-project.analytics_XXXXXXXXX.events_*`
  WHERE
    _TABLE_SUFFIX BETWEEN FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 28 DAY))
      AND FORMAT_DATE('%Y%m%d', CURRENT_DATE())
    AND traffic_source.medium = 'organic'
    AND event_name IN ('generate_lead', 'purchase', 'sign_up')
)
SELECT
  g.keyword,
  g.url,
  g.clics_gsc,
  g.impresiones,
  g.posicion_media
FROM
  gsc_keywords g
  LEFT JOIN urls_con_conversion c ON g.url = c.url_normalizada
WHERE
  -- Solo URLs que NO tienen ninguna conversión
  c.url_normalizada IS NULL
ORDER BY
  g.clics_gsc DESC
LIMIT 50

Explicación paso a paso

  • 3 El CTE gsc_keywords obtiene las keywords con al menos 10 clics y sus URLs desde GSC.
  • 21 El CTE urls_con_conversion lista todas las URLs que tuvieron al menos una conversión orgánica en GA4.
  • 23 Normaliza la URL de GA4 para matching con GSC eliminando query strings.
  • 43 LEFT JOIN + WHERE IS NULL selecciona solo keywords cuyas URLs NO aparecen en la lista de URLs con conversión.
  • 47 Ordena por clics GSC para priorizar las keywords con mayor volumen de tráfico desaprovechado.

Ejemplo de resultado esperado

keywordurlclics_gscimpresionesposicion_media
tutorial sql gratishttps://ejemplo.com/blog/tutorial-sql876123453.20
que es bigqueryhttps://ejemplo.com/blog/que-es-bigquery65498764.80
como usar ga4https://ejemplo.com/blog/guia-ga443267895.10

Variaciones y adaptaciones

Reemplazar los eventos de conversión según la configuración del sitio. Para priorizar por impresiones en lugar de clics, cambiar ORDER BY a g.impresiones DESC. Para agrupar por URL (sin detallar por keyword), eliminar keyword del SELECT y GROUP BY, y sumar clics por URL.