Keywords branded vs non-branded

Separa el rendimiento de búsqueda entre keywords de marca (branded) y genéricas (non-branded). Permite evaluar la dependencia del tráfico de marca y medir el crecimiento del SEO orgánico real.

keywords-branded-vs-non-branded.sql
-- Comparativa branded vs non-branded
-- Reemplazar los términos de marca en la lista LIKE
WITH clasificacion AS (
  SELECT
    query,
    clicks,
    impressions,
    sum_top_position,
    CASE
      -- Reemplazar 'mimarca' y 'mi marca' por los términos de la marca real
      WHEN LOWER(query) LIKE '%mimarca%'
        OR LOWER(query) LIKE '%mi marca%'
        THEN 'Branded'
      ELSE 'Non-branded'
    END AS tipo
  FROM
    `your-project.searchconsole.searchdata_site_impression`
  WHERE
    data_date BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 28 DAY) AND CURRENT_DATE()
    AND search_type = 'WEB'
    AND is_anonymized_query = FALSE
)
SELECT
  tipo,
  SUM(clicks) AS clics,
  SUM(impressions) AS impresiones,
  ROUND(SAFE_DIVIDE(SUM(clicks), SUM(impressions)) * 100, 2) AS ctr,
  ROUND(SUM(sum_top_position + impressions) / SUM(impressions), 2) AS posicion_media,
  COUNT(DISTINCT query) AS keywords_distintas,
  ROUND(SUM(clicks) * 100.0 / SUM(SUM(clicks)) OVER(), 2) AS porcentaje_clics
FROM
  clasificacion
GROUP BY
  tipo
ORDER BY
  clics DESC

Explicación paso a paso

  • 3 El CTE clasifica cada query como 'Branded' o 'Non-branded' según si contiene el nombre de la marca.
  • 11 Usar LOWER para comparación case-insensitive. Reemplazar 'mimarca' por los términos reales de la marca.
  • 27 CTR por tipo: las keywords branded suelen tener CTR mucho más alto que las non-branded.
  • 29 Cantidad de keywords distintas: indica la amplitud de cobertura de cada tipo.
  • 30 Porcentaje de clics que representa cada tipo sobre el total del sitio.

Ejemplo de resultado esperado

tipoclicsimpresionesctrposicion_mediakeywords_distintasporcentaje_clics
Non-branded87652345673.7412.40456763.82
Branded49721234540.281.808736.18

Variaciones y adaptaciones

Para ver la evolución mensual de la ratio branded/non-branded, añadir DATE_TRUNC(data_date, MONTH) al GROUP BY. Para ver las top keywords non-branded, eliminar la agregación por tipo y filtrar WHERE tipo = 'Non-branded' con GROUP BY query. Para añadir más variantes de marca, ampliar la lista LIKE con abreviaturas, errores de ortografía comunes y dominios.