Tradycyjne pozyskiwanie potencjalnych klientów w relacjach B2B często opiera się na kupowaniu statycznych katalogów lub list branżowych w celu określenia potencjału danego obszaru. Jednak te statyczne zbiory danych punktów orientacyjnych (POI) niemal natychmiast stają się nieaktualne. Ponieważ często brakuje w nich aktualnych informacji o statusie działalności lub szczegółowej klasyfikacji typu miejsca, zespoły sprzedaży w terenie ryzykują utratę cennego czasu na poszukiwanie firm, które są zamknięte na stałe, nieprawidłowo sklasyfikowane lub nieodpowiednie dla ich idealnego profilu klienta.
Ten przewodnik zawiera procedurę, która pozwala wypełnić tę lukę za pomocą Places Insights i Places API. Mapując obecną bazę klientów na identyfikatory miejsc, możesz używać BigQuery do wyodrębniania wszystkich działających firm na danym obszarze, które nie znajdują się jeszcze w Twojej bazie danych CRM. Z tego przewodnika dowiesz się, jak stworzyć taki mechanizm wykluczeń, aby dostarczać przedstawicielom handlowym wysoce ukierunkowaną i zweryfikowaną listę potencjalnych klientów.

Przykładowa aplikacja
Załóżmy, że dostawca systemów POS planuje rozszerzenie sprzedaży w terenie w Nowym Jorku. Zazwyczaj organizacja generuje raport o łącznej liczbie lokali gastronomicznych w poszczególnych kodach pocztowych. Takie podejście wiąże się z ryzykiem, że przedstawiciele handlowi będą polegać na nieaktualnych danych, np. dotyczących lokalizacji zamkniętych na stałe, lub nieodpowiednich potencjalnych klientów, np. prywatnej kuchni cateringowej bez witryny sklepowej.
Zamiast tego wyobraź sobie nowoczesne podejście wykorzystujące Statystyki miejsc, które korzystają z globalnego zasięgu Map Google i aktualnych danych weryfikowanych w wielu źródłach.
Places Insights obsługuje prawie 500 kategorii miejsc i ponad 70 atrybutów, dzięki czemu możesz precyzyjnie określać potencjalnych klientów na podstawie konkretnych typów firm (np. scandinavian_restaurant), godzin otwarcia sklepów i oferowanych usług (np. accepts_credit_cards). Porównując dane z Places Insights z informacjami z wewnętrznego systemu CRM, możesz przekazać zespołowi sprzedaży bardzo szczegółową listę potencjalnych klientów o dużym potencjale, z którymi jeszcze nie nawiązano kontaktu.
Przepływ pracy rozwiązania
Ten przewodnik zawiera techniczną strukturę tworzenia dynamicznej „mapy potencjalnych klientów”, która automatycznie odfiltrowuje obecnych klientów, pozostawiając tylko nowych, operacyjnych potencjalnych klientów, do których może dotrzeć Twój zespół sprzedaży.
Architektura czterostopniowa
- Określ typy miejsc docelowych: przypisz profile idealnych klientów do typów miejsc.
- Określanie obszarów o dużym potencjale: wykonuj w BigQuery funkcje zliczania miejsc, aby generować mapy gęstości docelowych firm.
- Normalizowanie danych z systemu CRM do identyfikatorów miejsc: przetwarzaj nieustrukturyzowane rekordy z systemu CRM za pomocą potoku oczyszczania danych, korzystając z interfejsów Weryfikacja adresów, Geocoding i Places API, aby znaleźć identyfikatory miejsc dla obecnych klientów.
- Wykluczanie białych znaków: połącz identyfikatory miejsc z systemu zarządzania relacjami z klientami (CRM) z danymi Statystyki miejsc w BigQuery, aby dynamicznie odfiltrować obecnych klientów i uzyskać listę nowych potencjalnych klientów.
Wymagania wstępne
Zanim zaczniesz, upewnij się, że masz:
Projekt Google Cloud:
- Projekt Google Cloud z włączonymi płatnościami.
Dostęp do danych:
- subskrypcję Statystyk miejsc w BigQuery.
- Własny zbiór danych CRM (np. tabela BigQuery) zawierający nazwy i adresy firm klientów, które mają być wykluczone.
Google Maps Platform:
- Klucz interfejsu API.
- Interfejsy API włączone dla Twojego klucza:
Uprawnienia:
- Upewnij się, że Twoje konto użytkownika lub konto usługi ma te role uprawnień, aby wykonywać zapytania i zarządzać zestawem danych:
Rola Identyfikator Edytujący dane BigQuery roles/bigquery.dataEditorUżytkownik BigQuery roles/bigquery.user
- Upewnij się, że Twoje konto użytkownika lub konto usługi ma te role uprawnień, aby wykonywać zapytania i zarządzać zestawem danych:
Świadomość kosztów:
- W tym samouczku używane są płatne komponenty Google Cloud. Pamiętaj o potencjalnych kosztach związanych z:
- BigQuery: opłaty są naliczane za użyte przedziały obliczeniowe lub przetworzone dane podczas wykonywania zapytania.
- Statystyki miejsc: opłaty są naliczane na podstawie wykorzystania zapytań.
- Google Maps Platform: opłaty są naliczane za każde żądanie w przypadku interfejsów Address Validation API, Geocoding API i Wyszukaj tekst API.
- W tym samouczku używane są płatne komponenty Google Cloud. Pamiętaj o potencjalnych kosztach związanych z:
Krok 1. Określ typy miejsc docelowych
Statystyki miejsc obsługują prawie 500 kategorii miejsc i ponad 70 atrybutów (np. godziny otwarcia, formy płatności i status działalności). Bez selektywne wykonywanie zapytań w całym zbiorze danych jest nieefektywne i kosztowne.
Na początek użyj modelu LLM, takiego jak Gemini, aby przetłumaczyć wewnętrzne profile klientów na typy miejsc, które są używane podczas tworzenia zapytania do Statystyk miejsc. Ta definicja taksonomii na poziomie makro zapewnia, że kolejne wyszukiwania w BigQuery będą wysoce ukierunkowane, co zmniejsza obciążenie związane z przetwarzaniem.
Jeśli na przykład projektujesz przepływ pracy dla systemu punktu sprzedaży, możesz podać Gemini listę typów miejsc i użyć tego prompta:
„Wciel się w rolę analityka rynku. Które z obsługiwanych typów miejsc w Mapach Google są głównymi celami dostawcy systemu punktów sprzedaży? Uzasadnij swoją decyzję”.
Na podstawie tego promptu Gemini przeanalizuje taksonomię i zwróci ukierunkowany podzbiór odpowiednich typów miejsc do użycia w filtrze BigQuerytypes:
| Kategoria główna | Uzasadnienie | Najważniejsze typy miejsc |
|---|---|---|
| Jedzenie i napoje | Wymaga szybkiego przetwarzania transakcji, zarządzania stolikami, wystawiania biletów zamówień i obsługi napiwków. | restaurant, bar, cafe, coffee_shop |
| Zakupy | Wymaga solidnego śledzenia zapasów, skanowania kodów kreskowych, przetwarzania zwrotów i integracji z programami lojalnościowymi. | clothing_store, grocery_store, supermarket, convenience_store |
| Usługi oraz zdrowie i dobre samopoczucie | Wymaga zintegrowanego systemu rezerwacji spotkań, planowania, profili klientów i śledzenia prowizji. | hair_salon, beauty_salon, spa, massage |
| Rozrywka, rekreacja i sport | Wymaga szybkiego reagowania na nagły napływ klientów, skanowania biletów cyfrowych i szybkiej sprzedaży przekąsek. | movie_theater, amusement_park, bowling_alley, stadium |
W tym przewodniku skupimy się na sugerowanych typach miejsc w kategorii Jedzenie i napoje.
Krok 2. Wyodrębnij liczbę firm, aby zidentyfikować obszary o dużym potencjale
Aby określić obszary, w których można zwiększyć liczbę klientów, musisz najpierw uzyskać ogólny obraz gęstości firm. Możesz to zrobić, wykonując w BigQuery funkcje zliczania miejsc (np. PLACES_COUNT_PER_H3 lub PLACES_COUNT_PER_GEO).
Możesz wysyłać zapytania bezpośrednio do zbioru danych, ale funkcje zliczania miejsc to predefiniowane, zoptymalizowane zapytania SQL, które nie wymuszają standardowego progu agregacji wynoszącego co najmniej 5 miejsc (standardowe zapytania bezpośrednie pomijają wiersze z 1–4 firmami, ale te funkcje umożliwiają sprawdzenie, gdzie dokładnie znajduje się nawet 1 potencjalny klient). Co ważne, te funkcje zwracają tablicę zawierającą maksymalnie 250 identyfikatorów miejsc w każdym obszarze geograficznym przy użyciu kolumny sample_place_ids. Zapewnia to zarówno statystyczną mapę cieplną dla planistów terytoriów, jak i podstawowe identyfikatory potrzebne do generowania potencjalnych klientów.
Poniższe zapytanie pokazuje, jak dynamicznie pobrać złożony wielokąt (całą granicę Nowego Jorku) z publicznego zbioru danych, a następnie przekazać go do funkcji Places Count. Korzystając z indeksu przestrzennego H3 w większej rozdzielczości (8) w całym mieście, możesz wygenerować mapę gęstości na poziomie makro.
Ponadto po wybraniu wszystkich kolumn (SELECT *) funkcja zwraca kolumnę geography, czyli wielokąt reprezentujący komórkę H3. Dzięki temu możesz od razu importować wyniki BigQuery do narzędzi analityki biznesowej (takich jak Looker Studio), aby tworzyć wizualizacje wypełnionych map, które wizualnie ujawniają najpopularniejsze rynki.
-- Illustrative logic: Extracting target business counts per H3 cell across New York City
DECLARE geo GEOGRAPHY;
-- Get the geography for New York City using the Overture Maps public dataset
SET geo = (SELECT geometry FROM `bigquery-public-data.overture_maps.division_area`
WHERE country = 'US' AND subtype = 'locality' AND names.primary = 'New York' LIMIT 1);
SELECT *
FROM `YOUR_PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_H3`(
JSON_OBJECT(
'geography', geo,
'h3_resolution', 8,
'types',['restaurant', 'bar', 'cafe', 'coffee_shop'],
'business_status', ['OPERATIONAL']
)
)
ORDER BY count DESC;

Jak widać na wizualizacji, na Manhattanie znajdują się obszary o wyraźnie dużej gęstości docelowych firm. W dalszej części tego dokumentu skupimy się na jednym z tych obszarów o dużym potencjale – na obszarze w pobliżu Union Square.
Krok 3. Znormalizuj dane CRM do identyfikatorów miejsc
Aby przeprowadzić analizę wykluczeń, musisz najpierw przetłumaczyć rekordy CRM na identyfikatory miejsc. Dane CRM są często nieustrukturyzowane, więc przekazywanie surowego tekstu do interfejsów API wyszukiwania daje niskie wskaźniki dopasowania. Użyj tego dwuetapowego potoku, aby oczyścić adresy, uwzględnić zasięg regionalny interfejsu API i zagwarantować, że wyodrębnisz prawidłowe identyfikatory miejsca prowadzenia działalności w BigQuery.
Załóżmy, że w systemie CRM masz 5 klientów prowadzących restauracje w Nowym Jorku:
| Nazwa miejsca | Adres |
|---|---|
| Boucherie Union Square | 225 Park Ave S, Nowy Jork, NY 10003, Stany Zjednoczone |
| Gramercy Tavern | 42 E 20th St, New York, NY 10003, Stany Zjednoczone |
| Barn Joo Union Square | 35 Union Square W, New York, NY 10003, Stany Zjednoczone |
| LOS TACOS No.1 | 200 Park Ave S, New York, NY 10003, Stany Zjednoczone |
| Union Square Cafe | 101 E 19th St, New York, NY 10003, Stany Zjednoczone |
Ponieważ te rekordy składają się z nieustrukturyzowanego tekstu, nie możesz ich bezpośrednio łączyć z danymi Statystyk miejsc w BigQuery. Zamiast tego przetwórz każdy wiersz w tym potoku, aby ujednolicić tekst i wyodrębnić identyfikator miejsca.
Krok 3a. Oczyszczanie adresów i bezpośrednie dopasowywanie
Najpierw ujednolić dane adresowe. Wybierz interfejs API na podstawie kraju docelowego:
Opcja 1. Address Validation API
W obsługiwanych regionach przekaż do interfejsu API połączoną nazwę firmy i adres z systemu CRM. Sprawdź tablicę result.geocode.placeTypes w odpowiedzi:
- Dopasowanie do firmy: jeśli zawiera
establishmentlubpoint_of_interest, interfejs API pomyślnie rozpoznał firmę. Dołącz tenplaceIddo zbioru danych i przejdź do następnego rekordu CRM. W przypadku tego wpisu nie są potrzebne żadne dodatkowe wywołania interfejsu API. - Brak dopasowania do placówki: jeśli nie zawiera tych typów działalności, interfejs API nie może jednoznacznie potwierdzić podmiotu gospodarczego. Zwrócony identyfikator miejsca reprezentuje obiekt geograficzny (np. budynek, ulicę lub miasto). Nie używaj tego identyfikatora miejsca w BigQuery, ponieważ spowoduje to niepowodzenie wykluczających złączeń. Zamiast tego zapisz
result.address.formattedAddressi przejdź do kroku 3b.
Opcja 2. Geocoding API
W przypadku regionów, w których weryfikacja adresu nie jest obsługiwana, przekaż do interfejsu Geocoding API tylko adres CRM. Nie podawaj nazwy firmy, ponieważ interfejs Geocoding API może zwracać nieprzewidywalne wyniki. Wyodrębnij wynikowy formattedAddress i przejdź do kroku 3b.
Zaawansowana architektura: obsługa nieustrukturyzowanych danych za pomocą dużych modeli językowych
Jeśli dane CRM są bardzo słabe, np. nazwy firm i adresy są pomieszane w jednym polu notatek w formie tekstu dowolnego, wstępnie przetwórz rekordy za pomocą dużego modelu językowego, takiego jak Gemini. Możesz poprosić Gemini o dokładne wyodrębnienie nazwy firmy z lokalizacji przed przekazaniem ich do tego potoku.
Krok 3b. Rozwiąż problem z podmiotem gospodarczym
Jeśli krok 3a zwraca tylko oczyszczony adres, połącz go z pierwotną nazwą firmy w systemie CRM i przekaż do interfejsu Wyszukaj tekst API. Najpierw znormalizuj adres, aby znacznie zwiększyć współczynnik dopasowania.
Aby zoptymalizować wydajność i koszty, użyj maski pola (X-Goog-FieldMask:
places.id) i ustaw "pageSize": 1, aby zwracany był tylko identyfikator miejsca z najbliższym dopasowaniem.
Przykładowe żądanie wyszukiwania tekstu:
curl -X POST -d '{
"textQuery" : "Gramercy Tavern 42 E 20th St, New York, NY 10003-1324, USA",
"pageSize": 1
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: places.id' \
'https://places.googleapis.com/v1/places:searchText'
Dane wyjściowe potoku
Po przetworzeniu rekordów CRM w ramach tego dwuetapowego potoku, niezależnie od tego, czy identyfikator został wyodrębniony w kroku 3a, czy rozwiązany za pomocą wyszukiwania tekstowego w kroku 3b, Twoim ostatecznym celem jest dodanie do zbioru danych nowej kolumny place_id. Ta tabela jest teraz gotowa do przesłania do BigQuery jako lista wykluczeń.
| Nazwa miejsca | Adres | Identyfikator miejsca |
|---|---|---|
| Boucherie Union Square | 225 Park Ave S, Nowy Jork, NY 10003, Stany Zjednoczone | ChIJc1Vf7KFZwokR1YL2Rn9oxi8 |
| Gramercy Tavern | 42 E 20th St, New York, NY 10003, Stany Zjednoczone | ChIJvSQIgqFZwokRFYQbJdzceSs |
| Barn Joo Union Square | 35 Union Square W, New York, NY 10003, Stany Zjednoczone | ChIJQ7XpyqNZwokRQpVfvGEViWM |
| LOS TACOS No.1 | 200 Park Ave S, New York, NY 10003, Stany Zjednoczone | ChIJFZh0PABZwokRVzoJu0o-mLY |
| Union Square Cafe | 101 E 19th St, New York, NY 10003, Stany Zjednoczone | ChIJxTHke6JZwokRCLWVd99eDBw |
Krok 4. Przeprowadź w BigQuery analizę wykluczenia białych znaków
Gdy przypiszesz obecnych klientów do identyfikatorów miejsc, użyj funkcji Liczba miejsc, aby znaleźć nowych potencjalnych klientów.
W tym przykładzie wyszukamy działające firmy docelowe (restauracje, bary, kawiarnie i kawiarnie) w promieniu 850 metrów od Union Square (40.73595, -73.99043). Aby uzyskać bardziej szczegółowy widok tras na poziomie ulicy, zwiększymy rozdzielczość funkcji PLACES_COUNT_PER_H3 do poziomu 10.
Funkcja zwraca identyfikatory miejsc jako tablicę w kolumnie sample_place_ids, dlatego musimy UNNEST tablicę, aby umieścić każdą potencjalną firmę w osobnym wierszu. Następnie wykonujemy LEFT JOIN w odniesieniu do znanych nam identyfikatorów miejsc klientów.
Aby udowodnić, że logika wykluczania działa w tym przykładzie, w zapytaniu poniżej użyto instrukcji CASE do oznaczania wyników zamiast ich całkowitego odfiltrowywania.
Wyraźnie sortuje też obecnych klientów na samym początku tabeli wyników, dzięki czemu możesz sprawdzić, czy zostali oni prawidłowo dopasowani.
Zapytanie SQL
WITH existing_customers AS (
-- 1. Simulate the uploaded CRM table
SELECT * FROM UNNEST([
'ChIJc1Vf7KFZwokR1YL2Rn9oxi8', -- Boucherie Union Square
'ChIJvSQIgqFZwokRFYQbJdzceSs', -- Gramercy Tavern
'ChIJQ7XpyqNZwokRQpVfvGEViWM', -- Barn Joo Union Square
'ChIJFZh0PABZwokRVzoJu0o-mLY', -- LOS TACOS No.1
'ChIJxTHke6JZwokRCLWVd99eDBw' -- Union Square Cafe
]) AS place_id
),
target_area_businesses AS (
-- 2. Query Places Insights for target businesses in the radius
SELECT
h3_cell_index,
place_id
FROM `places_insights___us.PLACES_COUNT_PER_H3`(
JSON_OBJECT(
'geography', ST_GEOGPOINT(-73.99043, 40.73595),
'geography_radius', 850,
'h3_resolution', 10,
'types',['restaurant', 'bar', 'cafe', 'coffee_shop'],
'business_status', ['OPERATIONAL']
)
),
UNNEST(sample_place_ids) AS place_id
)
-- 3. The "Proof" Output: Flag them instead of filtering them out
SELECT
t.h3_cell_index,
t.place_id,
-- Flag whether the LEFT JOIN found a match in the CRM table
CASE
WHEN e.place_id IS NOT NULL THEN 'Existing Customer (To Be Excluded)'
ELSE 'Net-New Lead'
END AS lead_status,
CONCAT('https://www.google.com/maps/search/?api=1&query=Place&query_place_id=', t.place_id) AS actionable_maps_url
FROM target_area_businesses t
LEFT JOIN existing_customers e
ON t.place_id = e.place_id
ORDER BY
-- Explicitly sort the existing customers to the top (0 comes before 1)
CASE WHEN e.place_id IS NOT NULL THEN 0 ELSE 1 END ASC;
Wyniki zapytania
Oto fragment danych wyjściowych zapytania, który pokazuje, jak obecni klienci są skutecznie identyfikowani i oddzielani od nowych potencjalnych klientów w ramach tych samych szczegółowych komórek H3.
Zwróć uwagę, jak zapytanie wykorzystuje instrukcję CONCAT do utworzenia adresu URL Map na wielu platformach za pomocą funkcji place_id. Spowoduje to automatyczne wygenerowanie kolumny actionable_maps_url, która zapewni Twojemu zespołowi sprzedaży natychmiastowy, klikalny link do załadowania dokładnych informacji o firmie w aplikacji mobilnej Mapy Google lub w przeglądarce.
h3_cell_index |
place_id |
lead_status |
actionable_maps_url |
|---|---|---|---|
| 8a2a100d2767fff | ChIJQ7XpyqNZwokRQpVfvGEViWM | Obecny klient (do wykluczenia) | https://www.google.com/maps/search/?api=1&query=Place&query_place_id=ChIJQ7XpyqNZwokRQpVfvGEViWM |
| 8a2a100d20effff | ChIJvSQIgqFZwokRFYQbJdzceSs | Obecny klient (do wykluczenia) | https://www.google.com/maps/search/?api=1&query=Place&query_place_id=ChIJvSQIgqFZwokRFYQbJdzceSs |
| 8a2a100d2397fff | ChIJc1Vf7KFZwokR1YL2Rn9oxi8 | Obecny klient (do wykluczenia) | https://www.google.com/maps/search/?api=1&query=Place&query_place_id=ChIJc1Vf7KFZwokR1YL2Rn9oxi8 |
| 8a2a100d2397fff | ChIJFZh0PABZwokRVzoJu0o-mLY | Obecny klient (do wykluczenia) | https://www.google.com/maps/search/?api=1&query=Place&query_place_id=ChIJFZh0PABZwokRVzoJu0o-mLY |
| 8a2a100d23b7fff | ChIJxTHke6JZwokRCLWVd99eDBw | Obecny klient (do wykluczenia) | https://www.google.com/maps/search/?api=1&query=Place&query_place_id=ChIJxTHke6JZwokRCLWVd99eDBw |
| 8a2a1072c96ffff | ChIJ6atD-WRZwokRULgcZ4TWin8 | Nowy potencjalny klient | https://www.google.com/maps/search/?api=1&query=Place&query_place_id=ChIJ6atD-WRZwokRULgcZ4TWin8 |
| 8a2a1072c96ffff | ChIJ09yg-llZwokRKAgp0jg6TCU | Nowy potencjalny klient | https://www.google.com/maps/search/?api=1&query=Place&query_place_id=ChIJ09yg-llZwokRKAgp0jg6TCU |
Wizualizacja potencjalnych klientów za pomocą interfejsu Places UI Kit
Zamiast podawać surowy adres URL Map, możesz przekazać place_ids bezpośrednio do interfejsu Places UI Kit, aby utworzyć rozbudowany wewnętrzny panel generowania potencjalnych klientów dla zespołu sprzedaży.
Dostępne na różnych platformach gotowe komponenty możesz wstawiać na stronach internetowych, Android i iOS.
Te komponenty automatycznie wyświetlają bogate dane o punktach POI, takie jak zdjęcia, oceny i godziny otwarcia, bez konieczności pisania kodu interfejsu użytkownika ani ręcznego obsługiwania odpowiedzi interfejsu API.
Limity danych
Funkcje Places Count zwracają maksymalnie 250 identyfikatorów miejsc na komórkę geograficzną w tablicy sample_place_ids. Jeśli obszar jest bardzo gęsto zaludniony, wygenerowana lista potencjalnych klientów dla tej konkretnej komórki będzie ograniczona do 250 osób. Aby pozyskiwać wszystkie potencjalne możliwości w regionach o dużym zagęszczeniu, rozważ te strategie:
- Używaj konkretnych filtrów zapytań: zamiast grupować wiele typów w jednym zapytaniu (jak w przykładzie powyżej), uruchamiaj oddzielne zapytania dla każdego typu miejsca.
- Zmniejsz zakres przestrzenny: zmniejsz ogólny obszar wyszukiwania, używając mniejszego parametru
geography_radius, lub podziel obszar na mniejsze, bardziej szczegółowe segmenty, zwiększając rozdzielczość H3 (do rozdzielczości 11). - Dostosowywanie rozdzielczości według gęstości zaludnienia: podczas analizowania obszarów o różnej gęstości zaludnienia dynamicznie dostosowuj rozmiar wyszukiwania, aby nie przekroczyć limitu 250 identyfikatorów miejsca. Używaj większej rozdzielczości H3 (np. 6 lub 7) lub większego
geography_radiusna obszarach wiejskich, gdzie firmy są rozproszone. Z kolei w gęsto zaludnionych obszarach miejskich używaj bardzo szczegółowej rozdzielczości (np. 10 lub 11), aby mieć pewność, że nie pominiesz żadnego potencjalnego klienta.
Zapytanie produkcyjne
Gdy potwierdzisz, że obecni klienci są prawidłowo identyfikowani, możesz przywrócić produkcyjną wersję zapytania. Zastąp ostatni blok SELECT
tym klauzulą WHERE, aby trwale odfiltrować istniejące
transakcje:
SELECT
t.h3_cell_index,
t.place_id,
CONCAT('https://www.google.com/maps/search/?api=1&query=Place&query_place_id=', t.place_id) AS actionable_maps_url
FROM target_area_businesses t
LEFT JOIN existing_customers e
ON t.place_id = e.place_id
WHERE e.place_id IS NULL; -- Filters out the CRM matches
Zarządzanie architekturą i zgodność z przepisami
Aby utrzymać system o wysokiej wydajności i zgodności, przestrzegaj tych standardów:
- Identyfikatory miejsc jako trwałe identyfikatory: oprócz identyfikatora miejsca Warunki korzystania z Map Google zabraniają przechowywania w pamięci podręcznej poszczególnych danych punktów POI zwracanych przez interfejs Places API (takich jak numery telefonów i dane kontaktowe).Używaj identyfikatorów miejsc jako trwałych identyfikatorów do powtarzanej analizy białych znaków.
- Zapewnij aktualność atrybutów dzięki wywołaniom interfejsu API w czasie rzeczywistym: używaj identyfikatorów miejsc, aby wykonywać wywołania interfejsu API Szczegóły miejsca w odpowiednim momencie. Dzięki temu sprzedawca będzie mieć najbardziej aktualne informacje o firmie i dane kontaktowe dotyczące danego miejsca. Możesz też, jak pokazano w wyniku zapytania, dynamicznie tworzyć adresy URL Map Google, aby udostępniać zespołowi sprzedaży bezpośrednie linki do profili firm w Mapach Google.
Podsumowanie
Ujednolicając identyfikator miejsca jako klucz podstawowy, udało Ci się wypełnić lukę między analizą rynku na wysokim poziomie a praktycznymi działaniami sprzedażowymi na poziomie lokalnym. Ta architektura pozwala uniknąć niedokładności tradycyjnego kierowania na podstawie populacji, wykorzystuje bezserwerowe magazynowanie danych do złożonych obliczeniowo złączeń i ściśle przestrzega najlepszych praktyk w zakresie zarządzania kosztami i zgodności na poziomie interfejsu API.
Następne działania
- Poproś o dostęp do przykładowego zbioru danych Statystyk miejsc.
- Subskrybuj zbiór danych Statystyki miejsc, korzystając z ofert wymiany danych BigQuery, aby uzyskać dostęp do przykładowych lub pełnych danych o kraju.
- Zapoznaj się z informacjami o parametrach filtra, aby dostosować zapytania SQL w BigQuery na podstawie atrybutów i rodzajów działalności.
- Wdróż dynamiczne wyszukiwanie w interfejsie Places API w systemie CRM lub aplikacji do kierowania sprzedaży, aby udostępniać aktualne, zgodne z przepisami dane kontaktowe dotyczące nowych potencjalnych klientów.
Współtwórcy
- Henrik Valve | Inżynier DevX