공식 Google 트렌드를 넘어서丨꼭 배워야 할 구글 트렌드 분석 가이드 7가지

本文作者:Don jiang

전통적인 키워드 트렌드 비교는 본질적으로 데이터를 수동적으로 받아들이는 것이지, 비즈니스 기회를 능동적으로 포착하는 방식은 아닙니다.

이번 글에서 소개할 Google Trends를 뛰어넘는 초고급 기술은 지역과 시간의 한계를 완전히 깨고, 실시간 모니터링을 가능하게 합니다. 이미 20개 이상의 산업에서 검증된 이 방법은 선두 기업들이 경쟁사보다 14일 먼저 시장 전환점을 예측하고, 자원 배치를 선점하는 데 도움을 주고 있습니다.

谷歌趋势

Google Trends의 숨겨진 3가지 API 호출 팁

도시 단위 데이터 수집 (국가/주 단위 한계 돌파)

  • 문제점 : 공식 페이지에서는 주/도 단위까지만 데이터 제공
  • 방법 : API 요청 URL의 geo 파라미터에 도시 ID 직접 입력
python
# 예시: 로스앤젤레스 (지리코드 US-CA-803)의 "vr glasses" 데이터 가져오기
import requests
url = "https://trends.google.com/trends/api/widgetdata/multiline?req=%7B%22time%22%3A%222024-01-01%202024-07-01%22%2C%22geo%22%3A%22US-CA-803%22%2C%22keyword%22%3A%22vr%20glasses%22%7D"
response = requests.get(url)
print(response.text[:500])  # 상위 500자 출력으로 확인

결과 : 뉴욕 맨해튼(US-NY-501), 도쿄 도심(JP-13-1132) 등 3000개 이상의 도시까지 정밀 타겟 가능

Google Trends 도시 ID 빠르게 찾는 실전 3가지 방법

방법 1: 위키백과 지리코드 직접 조회

도시의 위키백과 페이지 방문 (예: 로스앤젤레스)

우측 정보 박스에서 ‘지리코드’ 확인

url
https://zh.wikipedia.org/wiki/洛杉矶
# 페이지 우측 '지리코드' 예시 : GNS=1662328

변환 포맷 : US-CA-1662328 (국가-주코드-GNS코드)

방법 2: GeoNames 데이터베이스 대량 다운로드

Excel로 열고, “국가코드+도시명” 기준 필터링

csv
5368361,Los Angeles,US,CA,34.05223,-118.24368,PPLA2,...
# 필드 설명: GeonameID | 도시명 | 국가코드 | 주코드 | 위경도 등
  • ID 포맷 조합 : US-CA-5368361

방법 3: Google Trends 화면에서 실시간 분석

  • Google Trends 열기
  • F12 키로 개발자 도구 → “Network” 탭 전환
  • 도시명 검색 (예: “New York”)

요청 중 geo 파라미터 확인:

http
GET /trends/api/explore?geo=US-NY-501&hl=zh-CN
# 여기서 US-NY-501이 뉴욕 ID

실시간 검색 트렌드 모니터링 (분 단위 업데이트)

  • 문제점 : 공식 데이터는 4~8시간 지연
  • 방법 : time 파라미터에 “now 1-H” 사용 → 최근 60분 데이터
bash
# 터미널 테스트 (jq 설치 필요)
curl "https://trends.google.com/trends/api/vizdata?req=%7B%22time%22%3A%22now%201-H%22%2C%22tz%22%3A%22-480%22%7D" | jq '.default.timelineData'

결과 : 분 단위 검색 지수 출력 (예: 07:45:00=87, 07:46:00=92)

5년 이상 과거 데이터 복원

  • 문제점 : 공식 사이트는 최대 5년만 제공
  • 방법 : 구간별로 나눠 크롤링하고 시계열 합치기 (2004년~현재)

절차 :

  1. 연도별로 요청 URL 생성 (예: 2004-2005, 2005-2006 등)
  2. comparisonItem 파라미터로 키워드 동일하게 유지
  3. Pandas로 시계열 데이터 합치기
python
# 데이터 합치기 핵심 코드
df_2004_2005 = pd.read_json('2004-2005.json')
df_2005_2006 = pd.read_json('2005-2006.json')
full_data = pd.concat([df_2004_2005, df_2005_2006]).drop_duplicates()

실행:모든 요청에는 headers = {"User-Agent": "Mozilla/5.0"}를 추가해서 브라우저처럼 위장해서 접근하세요. 차단을 피하려면 분당 요청 횟수를 3회 이하로 제한하는 게 좋아요.

주의: 이 작업을 하려면 Python 환경 (버전 3.8 이상 권장)이 설치되어 있어야 하고, 데이터 파일은 반드시 JSON 형식이어야 해요 (예: 2004-2005.json, 2005-2006.json).

머신러닝 + GT 데이터 기반 예측 프레임워크

지연 효과 규칙

  • 문제: Google Trends 검색 트렌드와 실제 시장 수요 사이에 시간차가 있어요 (예: 사람들이 “선크림”을 검색하고 나서 2주 후에 실제 구매가 일어나는 경우)
  • 방법: 지연 상관 분석으로 가장 예측력 높은 시점을 찾아내요
python
import pandas as pd
from scipy.stats import pearsonr

# 데이터 불러오기 (sales_df=판매량 데이터, gt_df=검색량 데이터)
combined = pd.merge(sales_df, gt_df, on='date')

# 1~30일 지연된 상관계수 계산
correlations = []
for lag in range(1, 31):
    combined['gt_lag'] = combined['search_index'].shift(lag)
    r, _ = pearsonr(combined['sales'].dropna(), combined['gt_lag'].dropna())
    correlations.append(r)

# 최적 지연 일수 시각화 (보통 피크에서 확인됨)
pd.Series(correlations).plot(title='지연 상관 분석')

이상 변화 감지 알고리즘

문제: 기존 임계값 기반 알림은 서서히 바뀌는 트렌드를 잘 못 잡아요

방법: Z-Score 기반 급격한 변화 감지

python
def detect_anomaly(series, window=7, threshold=2.5):
    rolling_mean = series.rolling(window).mean()
    rolling_std = series.rolling(window).std()
    z_score = (series - rolling_mean) / rolling_std
    return z_score.abs() > threshold

# 사용 예시 (이상이 감지된 날짜는 True로 표시됨)
gt_df['alert'] = detect_anomaly(gt_df['search_index'])
print(gt_df[gt_df['alert']].index)

커스터마이징 가능한 예측 지표 템플릿 (Python 코드 포함)​

원리: 검색량 데이터와 외부 지표(예: 날씨, 주가 등)를 결합해 모델을 만들어요

템플릿

# 시계열 피처 생성
df['7d_ma'] = df['search_index'].rolling(7).mean()  # 7일 이동 평균
df['yoy'] = df['search_index'] / df.shift(365)['search_index']  # 전년 대비 변화율

# 외부 데이터 추가 (예: 날씨 API로 온도 데이터 가져오기)
df['temperature'] = get_weather_data()  

# 간단한 예측 모델 (선형 회귀 예시)
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(df[['7d_ma', 'yoy', 'temperature']], df['sales'])

모델 검증과 최적화

데이터 분할: 시간 순서대로 학습셋 (앞 80%)과 테스트셋 (뒤 20%)을 나눠요

python
split_idx = int(len(df)*0.8)
train = df.iloc[:split_idx]
test = df.iloc[split_idx:]

평가지표: 정확도보다 MAE (평균 절대 오차)를 써요

python
from sklearn.metrics import mean_absolute_error
pred = model.predict(test[features])
print(f'MAE: {mean_absolute_error(test["sales"], pred)}')

업데이트 팁

산업별 리듬에 맞춰 window 파라미터 조정해 보세요

Google Trends의 “연관 검색어” 데이터를 감정 지표로 써보는 것도 추천해요

경쟁사 추적을 위한 7가지 실시간 분석 항목

항목 1: 브랜드 연관 키워드 비교 분석

문제: 경쟁사들이 SEO로 당신의 브랜드 키워드 트래픽을 가로채는 경우가 있어요 (예: “당신 브랜드 + 리뷰” 검색 시 경쟁사가 먼저 나오는 경우)

방법

  1. Ahrefs로 경쟁 브랜드 키워드 순위를 한꺼번에 내보내기
  2. Google Trends API로 연관 키워드 검색량 수집
  3. 키워드 방어/공격 히트맵 생성 (예시 코드):
python
import seaborn as sns
# 데이터 예시: matrix_data = {"당신 브랜드": ["리뷰", "공식"], "경쟁 브랜드": ["리뷰", "할인"]}
sns.heatmap(matrix_data, annot=True, cmap="YlGnBu")

차원 2: 제품 기능 수요 온도 차이 분석

방법: 양쪽 제품의 핵심 기능에 대한 구글 트렌드 검색량 차이 비교 (단위: %)
공식:

수요 차이 = (우리 기능 키워드 검색량 - 경쟁사 기능 키워드 검색량) / 전체 검색량 × 100

실전 사례:

  • “방수 스마트폰”의 차이가 3일 연속 -5% 미만일 경우, 제품 홍보 전략 긴급 조정 필요

차원 3: 위기 대응 효과 정량 평가

지표 체계:

  • 부정 검색량 감소율 = (T일 부정 검색량 – T-7일 부정 검색량) / T-7일 부정 검색량
  • 브랜드 키워드 CTR 회복률 = Google Search Console을 통해 클릭률 변화 확인

자동화 스크립트:

python
if 부정 검색량 감소율 > 20% & CTR 회복률 > 15%:
    평가 = "위기 대응 성공"
else:
    2차 PR 플랜 실행

차원 4: 가격 민감 구간 모니터링

데이터 소스:

  1. 경쟁사 공식 홈페이지 가격 변화 크롤링 (Selenium 자동화 모니터링)
  2. GT에서 “경쟁사 브랜드 + 가격 인하” 검색량 모니터링
    의사결정 로직:
경쟁사 가격 인하 + 관련 검색량이 전주 대비 50% 이상 증가 시 가격 방어 메커니즘 발동

차원 5: 콘텐츠 마케팅 전략 역공학

수집 방식:

  1. Scrapy를 이용해 경쟁사 블로그/영상 제목 크롤링
  2. 자주 등장하는 단어로 N-gram 모델 생성

분석 결과 출력:

python
from sklearn.feature_extraction.text import CountVectorizer
# 예시: 경쟁사 제목 리스트 = ["5가지 사용법", "최종 가이드", "2024 트렌드"]
vectorizer = CountVectorizer(ngram_range=(2,2))
X = vectorizer.fit_transform(경쟁사 제목 리스트)
print(vectorizer.get_feature_names_out())  # 출력 ['5가지 사용법', '최종 가이드']

차원 6: 광고 집행 동향 감지

모니터링 툴 체인:

  1. SpyFu를 통해 경쟁사 Google Ads 키워드 확인
  2. Pandas로 키워드 중복률 계산
python
overlap = len(set(우리 키워드) & set(경쟁사 키워드)) / len(우리 키워드)
print(f"광고 경쟁 강도: {overlap:.0%}")

대응 전략:

  • 중복률이 30% 넘으면 롱테일 키워드로 포위 전략 실시

차원 7: 트래픽 소스 취약성 분석

해결 방식:

  1. SimilarWeb API로 경쟁사 유입 채널 비중 확인
  2. 단일 의존 채널 판별 (예: 자연 검색 70% 초과)

공격 전략:

  • 의존 채널 대상 집중 공략 (예: 핵심 커뮤니티 계정 대량 생성 및 후기 등록)

실행 도구 패키지:

소셜미디어 × 검색데이터의 황금 공식

Twitter 언급량 → 검색량 예측

공식:

앞으로 3일간 검색량 증가율 = (현재 트윗 수 / 최근 3일 평균 트윗 수) × 업계 계수

실행 단계:

  1. Twitter API로 대상 키워드의 일일 트윗 수 집계
  2. 3일 이동 평균 계산
  3. 업계 계수 예: IT 0.8 / 뷰티 1.2 / 금융 0.5

예시:
오늘 “AI폰” 트윗 1200개, 최근 3일 평균 800개
예측 증가율 = (1200 / 800) × 0.8 = 1.2배

TikTok 챌린지 인기 → 히트 가능성 예측

공식:

히트 확률 = (24시간 재생 증가율 + 참여 크리에이터 팔로워 중간값) × 0.7

실행 단계:

  1. TikTok Creative Center로 챌린지 데이터 수집
  2. 재생 증가율 계산: (오늘 재생 - 어제 재생) / 어제 재생
  3. 상위 50명 크리에이터의 팔로워 중간값 산출

예시:
#여름자외선챌린지 24시간 재생 증가 180%, 크리에이터 중간 팔로워 수 5.8만
히트 확률 = (180% + 5.8) × 0.7 = 89.3% → 즉시 관련 광고 시작

Reddit 검색 등가값

공식:

등가 검색 지수 = (업보트 수 × 0.4) + (댓글 수 × 0.2) + ("구매" 키워드 등장 횟수 × 10)

실행 단계:

  1. Reddit API로 타겟 서브레딧 게시글 수집
  2. 업보트 수, 댓글 수, “where to buy” / “best deal” 포함 댓글 수 카운트
  3. 공식에 대입해 계산 (50점 초과 시 행동 개시)

예시:
어느 이어폰 관련 글: 업보트 1200, 댓글 350, 구매 키워드 등장 15회
등가값 = (1200×0.4)+(350×0.2)+(15×10) = 480+70+150=700 → 즉시 재고 보충

YouTube 댓글 감정 → 구매 전환 지표

공식:

구매 의향 강도 = (긍정 댓글 비율 × 2) + (질문형 댓글 비율 × 0.5)

실행 단계:

  1. YouTube API로 최소 500개 댓글 추출
  2. 감정 분석 도구: TextBlob (Python)
from textblob import TextBlob
comment = "이 카메라 손떨림 방지 진짜 좋네요, 어디서 사요?"
polarity = TextBlob(comment).sentiment.polarity  # 출력 0.8 (긍정)
  1. 분류 기준: 긍정 (polarity>0.3), 질문형 (물음표 포함)

예시

긍정적인 댓글 비율: 60%, 문제 있는 댓글 비율: 25%

구매 의도 = (60%×2)+(25%×0.5)=120%+12.5%=132.5% → 광고 입찰가 인상

Zapier + GT 실시간 모니터링 플로우

기본 모니터링 플로우

시나리오: 타겟 키워드의 하루 검색량이 150% 이상 급등하면, 팀에 이메일로 바로 알림 전송
설정 단계

Zapier 트리거 설정

트리거로 「Webhook by Zapier」 선택

Catch Hook 모드로 설정하고 생성된 Webhook URL 복사 (예: https://hooks.zapier.com/hooks/12345)

Python 스크립트 배포​ (Google Cloud Functions)

import requests
from pytrends.request import TrendReq

def fetch_gt_data(request):
    pytrends = TrendReq()
    pytrends.build_payload(kw_list=["메타버스"], timeframe='now 1-d')
    data = pytrends.interest_over_time()
    
    # 일간 증가율 계산
    today = data.iloc[-1]['메타버스']
    yesterday = data.iloc[-2]['메타버스']
    growth_rate = (today - yesterday)/yesterday * 100
    
    # Zapier 트리거
    if growth_rate > 150:
        requests.post(
            "당신의 Webhook URL",
            json={"keyword": "메타버스", "growth": f"{growth_rate:.1f}%"}
        )
    return "OK"

Zapier 액션 설정

「Gmail」 액션 추가: Webhook 데이터 수신 시 경고 이메일 발송

이메일 템플릿 변수: {{keyword}} 검색량 급등 {{growth}}, 지금 확인해보세요 → Google 트렌드 링크

주간 트렌드 리포트 자동 생성

프로세스 구조: Google Trends API → Google Sheets → Zapier → ChatGPT → Notion

설정 단계

데이터를 스프레드시트로 동기화

Google Apps Script로 매시간 GT 데이터를 Google Sheets 템플릿에 가져오기

핵심 필드: 키워드, 주간 검색량, 전년 동기 대비 변화, 관련 검색어

Zapier 트리거 조건

「Schedule by Zapier」 선택 후 매주 금요일 15:00에 실행 설정

액션 1: 「Google Sheets」에서 최신 행 가져오기

액션 2: 「OpenAI」로 분석 보고서 생성

당신은 숙련된 마케팅 분석가입니다. 아래 데이터를 바탕으로 주간 리포트를 작성하세요:
검색량 상위 3개 키워드: {{Top 3 Keywords}}  
가장 많이 오른 키워드: {{Fastest Growing Keyword}} ({{Growth Rate}})
특히 주목해야 할 키워드: {{Related Queries}}

Notion에 자동 저장

Notion」 액션을 사용해 새 페이지 생성

동적 필드 삽입: {{AI Analysis}} + 트렌드 그래프 스크린샷 ( QuickChart로 생성)

광고 예산 동적 조정

완전 자동화 플로우: GT 데이터 → Zapier → Google Ads API → Slack 알림

설정 상세 설명

실시간 데이터 파이프라인

  • Python을 사용해 매분 GT의 now 1-H API를 호출
# 간단한 버전 코드 (스케줄링 작업으로 배포 필요)
current_index = requests.get("GT 실시간 API").json()['기본값']
if current_index > threshold:
    adjust_budget(current_index)  # Google Ads API 호출

Zapier 미들웨어 설정

트리거: 「Webhook」 현재 검색 지수 수신

필터: {{검색지수}} > 80일 때만 진행

액션1: 「Google Ads」 키워드 입찰가 조정

새 입찰가 = 기존 입찰가 × (1 + (검색지수 - 50)/100)

액션2: 「Slack」 #marketing 채널 알림 전송

【자동 조정】{{키워드}} 입찰가가 {{기존 입찰가}}에서 {{새 입찰가}}로 변경됨

히트 주제 선별을 위한 3단계 필터링 메커니즘

1단계: 트렌드의 진짜 여부 확인

핵심 과제: 가짜 트렌드 및 단기 노이즈 제거

검증 기준

플랫폼 간 트렌드 일관성

  • Google Trends 주간 검색량 ≥50% 증가
  • Twitter 관련 트윗 수 일간 증가율 ≥30%
  • Reddit 관련 게시판 하루 신규 글 ≥20개

관련 검색어 확산성

python
# Google Trends의 관련 검색어 상승 속도 수집
related_queries = pytrends.related_queries()
rising_queries = related_queries['rising'].sort_values('value', ascending=False)
if len(rising_queries) < 5:  # 최소 5개의 관련 키워드가 상승세
    return False

예시

“AI 휴대폰 케이스” 주제의 1차 검토 결과:

  • GT 주간 증가율 120%, Twitter 일간 트윗 +45%
  • 관련 키워드 “AI 냉각 휴대폰 케이스” 주간 검색량 300% 급증

결과: 1단계 통과

2단계: 지속 가능성 평가

핵심 알고리즘: 생애 주기 단계 판별 모델

평가 지표

과거 최고치와의 비교

python
current_index = 80  # 현재 검색 지수
historical_peak = gt_data['AI 휴대폰 케이스'].max()
if current_index < historical_peak * 0.3:  # 과거 피크의 30% 미만일 경우
    return "쇠퇴기"

연관 토픽의 건강도

  • 긍정 키워드 비율 (“리뷰”, “구매” 등) ≥60%
  • 부정 키워드 (“단점”, “불만” 등) ≤10%

실전 도구

TextBlob으로 감성 분석:

python
from textblob import TextBlob
sentiment = TextBlob("충격 흡수 AI 폰케이스 진짜 좋음").sentiment.polarity
if sentiment < 0.2:  # 긍정 감정이 부족함
    return False

예시

“AI 휴대폰 케이스” 현재 지수는 과거 최고치의 65%, 긍정 키워드 비율 78%

결과: 「성장기」 진입, 2단계 통과

3단계: 전환 능력 분석

핵심 공식

상업적 가치 지수 = (구매 의도 키워드 검색량 × 0.6) + (리뷰 콘텐츠 참여율 × 0.4)

데이터 수집

구매 의도 키워드 모니터링

python
buy_keywords = ["어디서 사지", "얼마야", "할인"]
buy_volume = sum([gt_data[keyword] for keyword in buy_keywords])

리뷰 콘텐츠 참여율

YouTube 리뷰 영상의 「좋아요/조회수 비율」 ≥5%

샤오홍슈 관련 게시글 「저장 수」 ≥500

자동화 의사결정

python
if 상업적 가치 지수 >= 75:
    이커머스 광고 + SEO 공략 시작
elif 상업적 가치 지수 >= 50:
    콘텐츠 마케팅만 진행
else:
    주제 포기

예시

  • “AI 휴대폰 케이스” 구매 의도 키워드 일평균 검색량 1200
  • YouTube 리뷰 평균 좋아요율 7.2%
  • 상업적 가치 지수 = (1200×0.6)+(7.2×0.4) = 72+2.88=74.88 → 콘텐츠 마케팅 시작

3단계 필터링 실행 플로우차트

graph TD
    A[주제 풀] --> B{1단계: 인기 검증}
    B -- 통과 --> C{2단계: 지속 가능성}
    B -- 거절 --> D[폐기 보관함]
    C -- 통과 --> E{3단계: 전환력}
    C -- 거절 --> D
    E -- 통과 --> F[핵심 콘텐츠 실행]
    E -- 거절 --> G[관찰 보관함]

SEMrush×GT의 ROI 향상 전략

동적 입찰 조정 엔진

핵심 로직: SEMrush의 경쟁 키워드 입찰 데이터를 GT의 실시간 검색 트렌드와 결합해 입찰 자동 최적화

실행 단계: 데이터 수집

python
# SEMrush API를 통해 경쟁 키워드 CPC 가져오기 (예시)
import requests
semrush_api = "https://api.semrush.com/?key=YOUR_KEY&type=phrase_all&phrase=vr%20glasses"
response = requests.get(semrush_api).text.split("\n")
cpc = float(response[1].split(";")[8])  # CPC 값 추출

# GT 실시간 검색 지수 가져오기 (0~100)
gt_index = pytrends.interest_over_time()['vr glasses'].iloc[-1]

입찰 공식:

추천 입찰가 = 경쟁사 CPC × (GT 지수 / 100) × 경쟁 계수  
(경쟁 계수: 신시장 1.2, 레드오션 시장 0.8)

Google Ads와 자동 동기화

python
# Google Ads API로 입찰가 자동 조정 (간단 예시)
ads_api.update_keyword_bid(keyword_id=123, new_bid=추천 입찰가)

예시: “vr glasses”의 GT 지수가 40에서 70으로 올라가면, 입찰가는 1.5×(70/100)×1.2 = $1.26으로 자동 상향 → 실제 클릭당 비용은 16% 감소

키워드 공격·방어 매트릭스

데이터 융합 방법:

  1. SEMrush 분석: 경쟁사 상위 50개 트래픽 키워드 추출
  2. GT 필터링: 월간 검색량 20% 이상 증가한 키워드 선별
  3. 히트맵 생성 (빨간색 = 고가치+고경쟁, 파란색 = 저가치+저경쟁)
python
import matplotlib.pyplot as plt
plt.scatter(x=키워드_경쟁도, y=GT_검색_증가율, c=키워드_CPC, cmap='RdYlGn')
plt.colorbar(label='CPC($)')

예산 재분배

알고리즘 흐름:

  1. 예측 모델: GT 과거 데이터를 기반으로 ARIMA 모델로 향후 7일간 검색량 예측

python

from statsmodels.tsa.arima.model import ARIMA
model = ARIMA(gt_data, order=(3,1,1))
results = model.fit()
forecast = results.forecast(steps=7)

SEMrush 기반 의사결정 보조:

  • 트래픽 가치 점수 = (키워드 전환율 × 객단가) / CPC
  • 예산 분배 공식:
일일 예산 비율 = (예측 검색량 × 트래픽 가치 점수) / 총 예산 풀

데이터가 넘쳐나는 시대에도, 대부분의 기업은 여전히 어제의 트렌드로 내일의 전략을 짭니다.

이 글에서 소개한 GT 심화 활용법은 본질적으로 ‘검색 행동 → 시장 수요 → 비즈니스 실행’을 한순간에 연결해주는 전환 고리입니다.