A fecha de 7 de octubre de 2026, Shifter cuenta con el mayor pool de IPs estadounidenses activas, más que Oxylabs y Bright Data, a una fracción del coste.Shifter ahora tiene el mayor conjunto de IPs de EE. UU. activas

Ver comparativas

Conocimiento

Seguimiento de rankings con Geo-Grid: cómo medir el posicionamiento local bloque a bloque

Un negocio local no tiene un único ranking en Google: cambia cada pocos bloques. Cómo medirlo con un geo-grid, interpretar las métricas y actuar sobre el mapa.

Daniel Okafor

7 de octubre de 2026 · 12 min de lectura

Pregunta a un dueño de negocio local dónde se posiciona para “fontanero urgente” y normalmente dará un número, a menudo el que vio al buscar desde su propia oficina. Ese número es real, pero describe un único punto del mapa. Google posiciona los resultados locales en parte según la distancia desde quien busca, así que el mismo negocio puede ser el primero en su propia calle, el octavo a un kilómetro y no aparecer en absoluto al otro lado de la ciudad.

Un geo-grid soluciona esto midiendo el posicionamiento desde muchos puntos a la vez. Se superpone una cuadrícula de coordenadas sobre el área que atiende un negocio, se ejecuta la misma búsqueda en Maps desde cada punto y se registra dónde aparece el negocio. El resultado es un mapa de posiciones en lugar de una sola posición, y muestra exactamente dónde gana un negocio y dónde desaparece.

Esta guía cubre cómo diseñar la cuadrícula, el código para ejecutarla, cómo leer las tres métricas que los equipos extraen de ella y los errores que hacen que las cuadrículas induzcan a error.

Por qué una sola posición no es suficiente

La propia documentación de Google nombra tres factores detrás de los resultados locales: relevancia (cuán bien coincide la ficha con la búsqueda), distancia (qué tan lejos está el resultado de quien busca o de la ubicación indicada en la búsqueda) y prominencia (cuán conocido es el negocio, según reseñas, enlaces y otras señales). La relevancia y la prominencia apenas cambian de una manzana a otra. La distancia cambia con cada paso.

Eso convierte el posicionamiento local en una superficie, no en un número. Un dentista con un perfil sólido podría mantener los tres primeros puestos en todo un distrito, mientras que un competidor más nuevo solo se posiciona cerca de su propia puerta. Una sola comprobación desde la oficina oculta ambos hechos. Lo mismo ocurre con una comprobación a nivel de ciudad: preguntar por resultados “en Chicago” promedia precisamente la variación que le importa a un negocio local.

Si no conoces bien cómo la ubicación condiciona los resultados de búsqueda de forma más general, nuestra guía sobre APIs de SERP geolocalizadas para SEO local cubre la escala de granularidad desde el país hasta las coordenadas. Un geo-grid se sitúa en el último escalón.

Diseñar la cuadrícula

Una cuadrícula tiene tres ajustes, y cada uno cambia lo que el mapa puede decirte.

AjusteQué controlaUn punto de partida razonable
TamañoNúmero de puntos por lado (7 significa 7 x 7 = 49 puntos)7 para un negocio de barrio, de 9 a 13 para un área de servicio
EspaciadoDistancia entre puntos vecinosDe 0,5 a 1 km en ciudades densas, de 2 a 5 km en zonas suburbanas y rurales
ZoomEl zoom del mapa al que se hace la búsqueda15 para nivel de calle, 13 para un área más amplia

Tres reglas mantienen honesta una cuadrícula:

  • Usa un tamaño impar y céntralo en el negocio. El punto central queda entonces sobre la dirección, de modo que el mapa siempre muestra el mejor caso junto con todo lo que lo rodea.
  • Ajusta el espaciado a cómo busca realmente la gente. Una cafetería compite a distancia a pie; una empresa de tejados compite en todo un condado. Una cuadrícula demasiado apretada solo muestra verde, y una demasiado amplia solo muestra celdas vacías.
  • Mantén todos los ajustes fijos entre ejecuciones. Tamaño, espaciado, zoom, palabra clave, idioma y dispositivo deben permanecer idénticos, o dos mapas no se pueden comparar.

El código

El módulo siguiente construye la cuadrícula, prepara una búsqueda en Maps por punto, localiza el negocio en cada respuesta y resume el resultado. Solo usa la biblioteca estándar.

import math

EARTH_RADIUS_KM = 6371.0088
NOT_FOUND = 21  # uno más allá de los 20 lugares que devuelve una búsqueda en Maps


def grid_points(lat, lng, size=7, spacing_km=1.0):
    """A size x size grid centred on (lat, lng), points spacing_km apart."""
    if size % 2 == 0:
        raise ValueError("size must be odd so the business sits on the centre point")
    half = size // 2
    points = []
    for row in range(size):
        for col in range(size):
            north_km = (half - row) * spacing_km
            east_km = (col - half) * spacing_km
            p_lat = lat + math.degrees(north_km / EARTH_RADIUS_KM)
            p_lng = lng + math.degrees(east_km / (EARTH_RADIUS_KM * math.cos(math.radians(p_lat))))
            points.append({"row": row, "col": col, "lat": round(p_lat, 6), "lng": round(p_lng, 6)})
    return points


def maps_params(keyword, lat, lng, zoom=15, api_key="YOUR_API_KEY"):
    """Query parameters for one Google Maps search seen from (lat, lng)."""
    return {
        "engine": "google_maps",
        "api_key": api_key,
        "q": keyword,
        "type": "search",
        "ll": f"@{lat},{lng},{zoom}z",
        "hl": "en",
    }


def rank_of(response, place_id):
    """Position of the business in one response, or None when it is not listed."""
    for place in response.get("places_results", []):
        if place.get("place_id") == place_id:
            return place.get("position")
    return None


def summarise(ranks, top=3):
    """ranks: one rank (or None) per grid point."""
    found = [r for r in ranks if r is not None]
    return {
        "points": len(ranks),
        "found": len(found),
        "arp": round(sum(found) / len(found), 2) if found else None,
        "atrp": round(sum(r if r is not None else NOT_FOUND for r in ranks) / len(ranks), 2),
        "solv": round(sum(1 for r in found if r <= top) / len(ranks), 3),
    }


def render(points, ranks, size):
    """The grid as text, north at the top: rank per point, '--' when not found."""
    cells = {(p["row"], p["col"]): r for p, r in zip(points, ranks)}
    return "\n".join(
        " ".join(f"{cells[(row, col)]:>2}" if cells[(row, col)] is not None else "--" for col in range(size))
        for row in range(size)
    )

grid_points convierte kilómetros a grados sobre una esfera, de modo que el espaciado se mantiene uniforme en cualquier latitud en lugar de estirarse a medida que te alejas del ecuador. El punto 0 es la esquina noroeste, y las filas van de norte a sur.

Ejecutarlo para un negocio y una palabra clave es un bucle corto. Cada punto se convierte en una búsqueda de Google Maps a través de la SERP API de Shifter, con las coordenadas pasadas en el parámetro ll para que la búsqueda se haga desde ese punto:

import json
import os
import time

import requests

from geogrid import grid_points, maps_params, rank_of, render, summarise

API = "https://serp.shifter.io/v1"
KEYWORD = "emergency plumber"
PLACE_ID = "ChIJ_YOUR_PLACE_ID"        # the business you are tracking
CENTER = (41.8781, -87.6298)            # its address
SIZE, SPACING_KM = 7, 1.0

points = grid_points(*CENTER, size=SIZE, spacing_km=SPACING_KM)
ranks = []
for p in points:
    params = maps_params(KEYWORD, p["lat"], p["lng"], api_key=os.environ["SERP_API_KEY"])
    response = requests.get(API, params=params, timeout=60).json()
    ranks.append(rank_of(response, PLACE_ID))
    time.sleep(0.2)

print(render(points, ranks, SIZE))
print(json.dumps(summarise(ranks)))

Para hacer coincidir la ficha correcta, usa el place_id del negocio en lugar de su nombre: los nombres se repiten, y las franquicias los comparten. Puedes encontrar el place_id en cualquier respuesta de Maps que contenga el negocio.

Probamos el módulo contra un respondedor sintético que posiciona un negocio según su distancia al punto central, con un lado este ligeramente más débil. El resultado tiene este aspecto (los números son de la prueba sintética, no de un negocio real):

12 10  9  8 11 12 14
10  8  6  6  8 10 12
 9  6  4  3  6  8 11
 8  6  3  1  5  8 10
 9  6  4  3  6  8 11
10  8  6  6  8 10 12
12 10  9  8 11 12 14
{"points": 49, "found": 49, "arp": 8.31, "atrp": 8.31, "solv": 0.082}

El patrón es el que muestran las cuadrículas reales: fuerte en la dirección, se debilita con la distancia y es desigual según la dirección geográfica.

Leer el mapa: tres métricas

Los equipos resumen una cuadrícula con tres números, y cada uno responde a una pregunta distinta.

MétricaCómo se calculaQué indica
ARP, posición media de rangoMedia de posiciones en los puntos donde aparece el negocioQué tan bien se posiciona donde consigue posicionarse
ATRP, posición media de rango totalMedia de posiciones en todos los puntos, contando “no encontrado” como 21Visibilidad general en toda el área
SoLV, cuota de voz localPorcentaje de puntos donde el negocio está en el top 3Cuánto del mapa posee dentro del paquete de mapas

Deben leerse en conjunto. Un negocio encontrado solo en cinco puntos, todos en el top tres, tiene un ARP excelente y un ATRP deficiente. El mapa muestra por qué: domina una zona pequeña y es invisible en el resto. Eso apunta a un problema de distancia, no de relevancia, y mejorar el contenido de la página no lo solucionará.

El SoLV importa más para los negocios que dependen del paquete de mapas, los tres resultados locales que Google muestra por encima de los listados habituales. Las posiciones de la cuatro a la veinte existen en la lista completa de Maps, pero muchos menos usuarios llegan a desplazarse hasta ahí.

Usar una cuadrícula para tomar decisiones

Una cuadrícula puntual es un diagnóstico. Las cuadrículas repetidas son donde está el valor.

  • Compara con competidores en la misma cuadrícula. Ejecuta los mismos puntos para los dos o tres negocios que te superan en el centro. Sus mapas a menudo muestran que un competidor gana por prominencia (un área amplia y uniforme) mientras tú ganas por proximidad.
  • Mide el cambio después de actuar. Nuevas reseñas, una categoría corregida o una dirección arreglada deberían mostrarse como un área verde más grande unas semanas después. Sin una cuadrícula fija no puedes distinguir una mejora del ruido.
  • Vigila los bordes. Las celdas en el límite del área fuerte de un negocio se mueven primero, en ambas direcciones. Observarlas da un aviso más temprano que el centro.
  • Revisa con cuidado los negocios de área de servicio. Los negocios que ocultan su dirección y atienden a clientes en su ubicación a menudo se posicionan de forma muy distinta a los locales físicos. Una cuadrícula más amplia muestra si aparecen donde están sus clientes.

Las ejecuciones semanales son suficientes para la mayoría de los negocios. Los rankings locales sí se mueven a diario, pero una cadencia semanal con ajustes fijos muestra tendencias sin pagar por cada fluctuación. Si también haces seguimiento de rankings orgánicos normales, nuestra guía sobre cómo detectar la volatilidad de las SERP explica cómo distinguir un movimiento real del ruido diario.

Errores que hacen que las cuadrículas induzcan a error

  • Buscar con el nombre de la ciudad en la palabra clave. “Fontanero Chicago” le dice a Google dónde buscar y anula la ubicación del punto. Usa el término de servicio simple tal como lo buscaría alguien cercano.
  • Mezclar dispositivos o idiomas entre ejecuciones. Los resultados de Maps en móvil y escritorio difieren. Elige uno y mantenlo.
  • Tratar “no encontrado” como una posición 20. Un negocio ausente es peor que uno en el puesto veinte. Cuéntalo por separado, como hace ATRP con el 21, e informa del número de puntos en los que se encontró.
  • Ejecutar cuadrículas sobre agua o terreno vacío. Los puntos en un lago o un bosque añaden celdas desde las que ningún cliente buscará jamás. Desplaza el centro o recorta esas celdas antes de promediar.
  • Leer una sola ejecución como la verdad. Los resultados varían ligeramente entre búsquedas idénticas. Actúa sobre patrones que se mantengan en varias ejecuciones, no sobre una sola celda que cambia de color.

Para una visión más amplia sobre la medición limpia y coherente del ranking (personalización, dispositivo y tiempo), consulta cómo medir rankings de palabras clave precisos.

Coste y escala

El coste de una cuadrícula es simplemente puntos por palabras clave por ejecuciones. Una cuadrícula de 7 x 7 son 49 búsquedas por palabra clave. Diez palabras clave rastreadas semanalmente son 490 búsquedas por semana, o unas 2.100 al mes. Una cuadrícula de 13 x 13 para las mismas diez palabras clave son 1.690 búsquedas por semana.

Esa aritmética es la razón principal para elegir el tamaño de la cuadrícula de forma deliberada. Empieza con una cuadrícula de 7 x 7 sobre las palabras clave que generan clientes, y amplía solo aquellas en las que los bordes del mapa todavía están cambiando.

Preguntas frecuentes

¿Cuántos puntos debería tener un geo-grid?

Para un negocio que atiende a un barrio, una cuadrícula de 7 x 7 (49 puntos) suele ser suficiente. Los negocios que atienden a toda una ciudad o condado necesitan un espaciado más amplio, y a veces una cuadrícula de 9 x 9 a 13 x 13, para ver dónde termina su visibilidad.

¿Es un geo-grid lo mismo que comprobar rankings por código postal?

No. Una comprobación por código postal ejecuta una búsqueda para un área y devuelve una sola posición. Un geo-grid ejecuta una búsqueda desde cada coordenada, así que muestra cómo cambia el posicionamiento dentro de un área, que es exactamente de lo que dependen los resultados locales basados en la distancia.

¿Por qué mi negocio se posiciona primero en la oficina pero no al otro lado de la ciudad?

La distancia es uno de los factores principales en los resultados locales de Google. Cerca de la dirección, la distancia juega a tu favor. Más lejos, competidores que están más cerca de quien busca, o que son más conocidos, ocupan las primeras posiciones.

¿Con qué frecuencia debería ejecutar un geo-grid?

Semanalmente es suficiente para la mayoría de los negocios. Ejecuta una cuadrícula adicional unas semanas después de un cambio significativo, como nuevas reseñas o una categoría de negocio corregida, para ver si el área fuerte ha crecido.

Conclusión

Los rankings locales son un mapa, no un número. Un geo-grid mide ese mapa con la misma búsqueda desde muchos puntos, y tres métricas (ARP, ATRP y cuota de voz local) lo resumen. Mantén la cuadrícula centrada en el negocio, ajustada a su mercado real y fija entre ejecuciones, y se convertirá en la forma más directa de ver dónde un negocio local es visible, dónde no lo es, y si eso está cambiando.

¿Listo para empezar?

Prueba los proxies residenciales de Shifter, más de 205M IPs, más de 195 países, desde 0,75 $/GB.

Comenzar