B2B 도매 영업 부트스트랩핑 #2

이전 글에 이어진 내용입니다.

사실 미국에는 리드만을 수집하는 많은 회사들이 있다. 특히, 보험 업계의 경우 경쟁이 심한데, 리드 퀄러티에 따라 하나당 리드 가격이 (독점 제공인 경우) 몇백불인 경우도 있다.

정보 제공 사이트 만들었다가 리드 팔았던 썰.

오바마 케어 시행 전, 미국 보험 비교 평가 사이트를 만들어서 온라인에 올려둔 적이 있었다. 그 사이트가 한국어로 보험 관련 다양한 키워드 검색시 구글 상위 랭킹이 되자 여기 저기 보험회사에서 연락이 왔었다. 리드를 자기들에게 팔라는 연락이었다. 리드 수집 폼 조차 없었는데… 급하게 리드 수집 폼을 만들어 붙였고, 실제 방문자들이 해당 폼에 관련 내용을 작성해서 제출하기 시작했다. 상당히 상세한 질문들이었는데… 어쨌든 그 리드들을 실제 한 에이전트에게 독점적으로 제공하기로 계약을 했었다. 리드당 가격은 공개할 수 없지만 모든 항목이 다 작성된 리드의 경우 몇백불 수준이었다. 그리고 이 사이트도 큰 금액은 아니었지만 좋은 조건으로 매각했었다.

생각해보면, 이런 정보 제공 사이트를 만든 후 검색 엔진 최적화를 잘 한 후 리드 생성 엔진을 달면 언제든 매수자는 나올 법 싶다. 여기에서 발전한게 Thumbtack 모델이지 싶다.

특히 니치한 곳들은 정보 불균형이 심한 곳들이 아직도 많기 때문에, 여전히 유효한 방법인거 같다.

리드 수집에 있어서 중요한 2가지

어쨌든 리드를 찾고 데이터로 가공하기 위해서는 몇가지 중요한 기본들이 있다.

목표 시장을 식별하는 것과 잠재 고객을 식별하고 나열하는 것.

내가 풀고자 하는 문제의 경우, 대부분의 데이터를 구글 맵에서 검색해서 찾을 수 있다. 목표 시장별 검색 결과로 잠재 고객을 식별해낼 수 있다.

가령, 내가 친환경 일회용 식기류 제조사 또는 브랜드일 경우 구글맵에서 손쉽게 내 잠재 고객들을 식별할 수 있다. Chinese Restaurants 등이 적절한 목표 시장이 될 수 있다. 마찬가지로 스파 용품을 판매 중이라면, 구글 맵에서 마찬가지로 스파들만을 찾을 수 있다.

이렇게 찾은 결과는 이미 구글에서 식별되고 나열된다. 이 데이터들을 CSV 파일 등으로 보기 쉽게 가져오는게 우선은 첫번째 단계다.

구글 Map 데이터를 빠르게 실시간으로 패치할 수 있도록 API는 만들었고 잘 작동되는걸 확인했다. 결과값은 맘에 든다.

[
    {
      "name": "National Museum of the American Indian",
      "full_address": "1 Bowling Green, New York, NY 10004",
      "borough": "Manhattan",
      "street": "1 Bowling Green",
      "city": "New York",
      "postal_code": "10004",
      "country_code": "US",
      "country": "United States of America",
      "us_state": "New York",
      "state": "New York",
      "plus_code": null,
      "latitude": 40.7039861,
      "longitude": -74.01368889999999,
      "time_zone": "America/New_York",
      "site": "http://www.americanindian.si.edu/",
      "phone": "+1 212-514-3700",
      "type": "National museum",
      "subtypes": "National museum, Tourist attraction",
      "posts": null,
      "rating": 4.4,
      "reviews": 3684,
      "reviews_data": null,
      "photos_count": 19359,
      "google_id": "0x89c25a13ea8996f7:0x8891204f43265340",
      "place_id": "ChIJ95aJ6hNawokRQFMmQ08gkYg",
      "reviews_link": "https://search.google.com/local/reviews?placeid=ChIJ95aJ6hNawokRQFMmQ08gkYg&q=museums+near+New+York,+NY,+USA&authuser=0&hl=en&gl=US",
      "reviews_id": "-8606061888127216832",
      "photo": "https://lh5.googleusercontent.com/p/AF1QipM-H0FWxL1FhlJQBJ7X3-D3VDrySvJenqzEuGhS",
      "working_hours": {
        "Monday": "10AM–5PM",
        "Tuesday": "10AM–5PM",
        "Wednesday": "10AM–5PM",
        "Thursday": "10AM–8PM",
        "Friday": "10AM–5PM",
        "Saturday": "10AM–5PM",
        "Sunday": "10AM–5PM"
      },
      "business_status": "CLOSED_TEMPORARILY",
      "about": {
        "Accessibility": {
          "Wheelchair accessible elevator": true,
          "Wheelchair accessible restroom": true,
          "Wheelchair accessible parking lot": false
        }
      },
      "range": null,
      "reviews_per_score": {
        "1": 66,
        "2": 78,
        "3": 347,
        "4": 866,
        "5": 2327
      },
      "reserving_table_link": null,
      "booking_appointment_link": null,
      "owner_id": "107114672541065218029",
      "verified": true,
      "owner_title": "National Museum of the American Indian",
      "owner_link": "https://www.google.com/maps/contrib/107114672541065218029",
      "location_link": "https://www.google.com/maps/place/National+Museum+of+the+American+Indian/@40.7039861,-74.01368889999999,14z/data=!4m8!1m2!2m1!1sNational+Museum+of+the+American+Indian!3m4!1s0x89c25a13ea8996f7:0x8891204f43265340!8m2!3d40.7039861!4d-74.01368889999999"
    },
    ...
]

이런 스크랩핑 패치 API를 만들면서 느낀 점

꼭 구글 맵 데이터만이 아니어도 다른 몇가지 데이터를 빠르게 가져올 수 있는 표준 패치 API를 만들면 응용 범위가 확 늘어날 수 있다. 표준 API를 만들고 각 소스 데이터에 적용 가능하게 만들면 이를 통해 다양한 정보들을 빠르게 수집할 수 있을거 같다. 조금만 응용하면 다음과 같은 데이터를 빠르게 가져올 수 있다.

  • 구글 맵 리뷰 데이터들
  • 구글 검색 결과 데이터들
  • 조금 응용하면, 아마존 제품 API도 만들 수 있다.

데이터를 가져와서 CSV 파일 등으로 빠르게 생성을 했다.

Los Angeles에 있는 Medical Spa 데이터만을 가져와서 CSV 파일로 Export

근데, 이 경우 처음에 해결하고자 하는 문제를 해결할 수가 없다. 이전 글 작성때부터 이미 알고 있었던 문제인데, 구글 맵 데이터에는 비즈니스 정보를 폭넓게 가져올 순 있지만 컨택 정보가 전화 번호에 국한된다.

그럼 실패일까? 아니다.

기본 데이터 수집을 할 수 있는 좋은 소스 채널은 맞다. 실패는 아니다. 방법을 좀 더 고민해보자.

구글 맵 데이터에서 이메일 주소 등을 수집하는 방법

수집된 정보 데이터를 보면, 홈페이지 정보를 볼 수 있다. 몇몇 홈페이지들을 클릭해서 들어가보면, 이메일 주소와 소셜 미디어 정보 등을 확인할 수 있었다. 하나 하나 홈페이지를 클릭해서 확인해보니 높은 확율로 이메일 주소가 있는걸 다시 확인할 수 있었다. 업종에 따라 다르지만, 소셜 프로필 정보도 게시된 곳들을 많이 확인할 수 있었다.

여기에서 고민, 차라리 업종 + 상세 지역명으로 나오는 구글 검색 결과를 자동으로 다음 단계로 넘어가 정보를 가져오는 방법이 더 좋지 않을까?

이 경우도 분명 좋을수 있는데, 난이도가 있긴 하다. 해당 검색 결과를 봇이 하나 하나 링크를 클릭해서 들어간 후 소스 코드를 읽은 후 특정 데이터들을 찾아내야 하는데, 보통 홈페이지들이 내가 수집하고자 하는 데이터들을 정형화된 클라스 등으로 표기하지 않기 때문에, 텍스트 인덱싱을 거친 후 해당 데이터를 다시 찾아야 한다. 가령 홈페이지에 해당 데이터가 없을 경우 다른 페이지들 예를 들면, About Us, Our Story, Contact Us 등 많은 세부 페이지들에도 같은 작업을 반복해야 한다. 시간이 쓸데없이(?) 많이 걸릴 수 밖에 없는 이유이다.

이런 생각을 하다가, 범용화된 솔루션이 차라리 더 좋은 방법이라고 깨달았다.

기본적인 스크랩핑 후은 각각의 용도와 채널에 맞춰 나눈 후 생성된 데이터를 후작업하는 엔진을 따로 만들면 된다.

위 두 경우

  1. 구글 맵에서 데이터 수집 > 수집된 데이터에서 이메일 등 주소를 다시 찾는 2차 작업
  2. 구글 검색 결과에서 데이터 수집 > 1번과 동일한 2차 작업
  3. 또 다른 소스에서 찾은 데이터
  4. …n개의 다른 소스에서 찾은 데이터 > 2차 작업

수집되어 Export 한 CSV 파일에는 공통적으로 URL만 있으면 된다. 이 URL 데이터들을 넣어서 이메일 주소, 페이스북 등 소셜 미디어 링크 등을 추가로 가져오는 API를 만들면 된다.

단계가 2단계로 나뉘지만, 이 경우 필요에 따른 조합으로 데이터 가공을 할 수 있게 된다.

  1. 기본적인 Raw Data 수집 > 내 경우는 홈페이지 URL
  2. 수집한 원시 데이터에서 필요한 정보를 재가공

자 이제 다음 단계는 홈페이지들에서 내가 원하는 정보들을 추출하는 API와 CSV 등으로 추출해내는 Export 기능을 분리해서 만들면 된다.

MY2DAYS Social Media