Recalculer les volumes de recherches via Google Trends

Overview de la méthodologie

  • Établir une liste de keywords via des outils SEO quelconques (disons que c’est déjà fait ici)
  • Récupération des volumes de recherche via API Google Ads
  • Récupération de la base 100 Google Trends
  • Recalcul de l’historique

Présentation de l’API Google Ads (Keyword planner)

L’API Google Ads nous offre la possibilité de récupérer les “métriques historiques”.
Voici la liste des métriques mentionnées dans la documentation de l’API Google Ads :
  • Nombre moyen de recherches mensuelles (12 derniers mois)
  • Volume de recherche mensuel approximatif (par mois)
  • Niveau de concurrence
  • Indice de la concurrence
  • 20e centile des enchères
  • 80e centile des enchères
Lien vers la documentation : ici
Cette API est très intéressante à exploiter et permet notamment de récupérer les volumes de recherches mensuelles d’une liste de mots-clés. Ce qui permet ensuite d’automatiser son suivi de positionnement et de suivre plus efficacement les tendances de son marché.
Le seul problème lorsque l’on passe par l’API c’est l’accès limité à l’historique, 12 mois seulement. Contrairement aux 48 mois que l’on peut obtenir en passant directement par l’outil depuis l’interface keyword planner.
Exemple de ce que l’API est capable de sortir pour un mot-clé : Note : on voit bien les 12 mois de données de volume de recherches pour le mots-clé en question
Image without caption
Image without caption
Cependant, l’API mentionne un point très important, sur lequel on va pouvoir se baser afin de recalculer l’historique au-delà de la limite de 12 mois.
Image without caption
En effet, Google Trends historise (à la semaine), les variation de volumes de recherches des mots-clés de sa base. L’idée sera donc d’utiliser l’API de Google Trends comme base de recalcul pour les données historiques de plus de 12 mois.

Présentation de l’API Google Trends

Google Trends est un outil qui permet de visualiser l'intérêt de recherche pour des termes spécifiques au fil du temps, en fournissant des données de tendance normalisées en une base 100. Il permet également de faire des comparaisons d’intérêt selon les zones géographiques mais on laissera cette aspect de côté pour notre sujet.
Illustrations :
Image without caption
🔖
Utile : Ici vous trouverez un petit playground qui permet de simuler facilement des requêtes API et d’obtenir rapidement un json type.
Exemple d’output API pour la même requête “data” :
python
from serpapi import GoogleSearch params = { "engine": "google_trends", "q": "data", "geo": "FR", "data_type": "TIMESERIES", "cat": "0", "date": "today 12-m", "api_key": "secret_api_key" } search = GoogleSearch(params) results = search.get_dict()
Image without caption
⇒ On voit dans le json, la valeur 42 pour la semaine du 20 Août 2023, qui correspond (heureusement d’ailleurs), à ce que l’on observe sur l’interface (pour peu qu’on prenne la même période d’analyse)
📌
Comment lire les données Google Trends La base 100 telle qu’elle est calculée par Google Trends représente l’intérêt relatif d’une requête précise sur la période sélectionnée. Google Trends prend la semaine durant laquelle l’intérêt est le plus fort sur la période (à comprendre, là ou le volume de recherches est le plus élevé sur la période) et lui attribue la valeur “100”. Puis, il calcules toutes les autres semaines à partir de ce point haut. → Si la semaine A est la semaine de plus fort intérêt (totalisant 500 recherches sur la semaine) → Une semaine qui totalise 125 visites aura une valeur de 25 (125/500)*100 étant égal à 25
📌
Autre point important Dans la théorie, deux semaines sont toujours comparables, peu importe le point haut de la période. Si je reprends mon exemple précédant mais que la semaine A n’est plus le point haut de la période car la semaine B totalise 600 visites. 600 visites = 100 semaine A = 500 visite = 500/600*100 = 83,3333.. Quid de notre semaine de 125 visites ? 125 = 125/600*100 = 20,83333.. Que l’on peut aussi écrire 83,333/4 On a toujours un rapport de x4 entre une semaine à 500 et une semaine à 125, peut importe le point haut de la période que l’on regarde.
Pourquoi tout ce laïus ? Parce que c’est le cœur de la méthodologie que je voulais vous présenter aujourd’hui. → Le fait d’avoir accès aux volumes de recherches via Google keyword planner ainsi qu’à la base 100 de Google Trends nous permet, en combinant les deux, de recalculer des volumes historiques en utilisant la logique inverse de celle employée par Google Trends.

Exemple de recalcul basé sur un exemple

J’ai choisi volontairement un mot-clé sur lequel la saisonnalité est très marquée et pour lequel il serait potentiellement intéressant de tester la méthodologie → “Fête des mères”
Voici ce que l’on obtient sur Google Trends & Keyword Planner en tapant directement dans les APIs correspondantes :
💡
Note : J’ai calculé une moyenne mensuelle (sur la base des semaines récupérées sur GTrends) afin que ce soit plus facilement transposable aux données Keyword planner
Google Trends :
mois
base100_moyenne
2024-07-01
0
2024-06-01
1,2
2024-05-01
43,25
2024-04-01
5,5
2024-03-01
3,2
2024-02-01
3,25
2024-01-01
1
2023-12-01
0
2023-11-01
0
2023-10-01
0,2
2023-09-01
0,25
2023-08-01
0
2024-08-01
0
2023-07-01
0,2
2023-06-01
5,25
2023-05-01
30,25
2023-04-01
5,8
2023-03-01
3,5
2023-02-01
3,75
2023-01-01
1
2022-12-01
0
2022-11-01
0
2022-10-01
0,4
2022-09-01
0,25
2022-08-01
0
2022-07-01
0
2022-06-01
1,5
2022-05-01
28,2
2022-04-01
5
2022-03-01
3,75
2022-02-01
4,75
2022-01-01
0,6
2021-12-01
0
2021-11-01
0
2021-10-01
0,4
2021-09-01
0,25
2021-08-01
0
2021-07-01
0,25
2021-06-01
1,75
2021-05-01
49,8
2021-04-01
6,5
2021-03-01
4,5
2021-02-01
6
2021-01-01
0,6
2020-12-01
0
2020-11-01
0
2020-10-01
0,75
2020-09-01
0,25
2020-08-01
0
2020-07-01
0,25
2020-06-01
9,5
2020-05-01
36
2020-04-01
4,5
2020-03-01
2
2020-02-01
3
2020-01-01
0,25
2019-12-01
0
2019-11-01
0
2019-10-01
0,25
2019-09-01
0,2
2019-08-01
0
Keyword Planner :
mois
Volume_recherche_KP
2024-07-01
8100
2024-06-01
40500
2024-05-01
2240000
2024-04-01
74000
2024-03-01
49500
2024-02-01
18100
2024-01-01
6600
2023-12-01
2900
2023-11-01
2900
2023-10-01
3600
2023-09-01
2900
2023-08-01
2900
Pour ceux qui se poseraient la question, voici le SQL que j’utilise pour recalculer
sql
with trends as ( select * from `trends_data` order by date desc), search_volumes as ( select * from `search_volume` order by mois desc), trends_monthly as ( SELECT DATE_TRUNC('month', date) AS mois, AVG(base100) AS base100_moyenne FROM trends GROUP BY DATE_TRUNC('month', date) order by mois desc), base_joint as ( select trends_monthly.mois, base100_moyenne, Volume_de_recherches_KP as search_volumes from trends_monthly left join search_volume using(mois)), baseline_trends_volume as ( Select base100_moyenne, search_volumes FROM base_joint where base100_moyenne = (select max(base100_moyenne) from base_joint where search_volumes is not null)), int_data as (select mois, base_joint.base100_moyenne, base_joint.search_volumes, baseline_trends_volume.base100_moyenne as baseline_trends, baseline_trends_volume.search_volumes as baseline_volumes from base_joint cross join baseline_trends_volume) select mois, base100_moyenne, baseline_trends, (base100_moyenne/baseline_trends)*100 as recalculated_base100, search_volumes, baseline_volumes, case when search_volumes is not null then search_volumes else ((base100_moyenne/baseline_trends)) * baseline_volumes end as recalculated_volumes from int_data
Voici le résultat que j’obtiens :
mois
base100_moyenne
baseline_trends
recalculated_base100
search_volumes
baseline_volumes
recalculated_volumes
2024-07-01
0
43,25
0,0
8100
2240000
8100
2024-06-01
1,2
43,25
2,8
40500
2240000
40500
2024-05-01
43,25
43,25
100,0
2240000
2240000
2240000
2024-04-01
5,5
43,25
12,7
74000
2240000
74000
2024-03-01
3,2
43,25
7,4
49500
2240000
49500
2024-02-01
3,25
43,25
7,5
18100
2240000
18100
2024-01-01
1
43,25
2,3
6600
2240000
6600
2023-12-01
0
43,25
0,0
2900
2240000
2900
2023-11-01
0
43,25
0,0
2900
2240000
2900
2023-10-01
0,2
43,25
0,5
3600
2240000
3600
2023-09-01
0,25
43,25
0,6
2900
2240000
2900
2023-08-01
0
43,25
0,0
2900
2240000
2900
2024-08-01
0
43,25
0,0
2240000
0
2023-07-01
0,2
43,25
0,5
2240000
10358
2023-06-01
5,25
43,25
12,1
2240000
271908
2023-05-01
30,25
43,25
69,9
2240000
1566705
2023-04-01
5,8
43,25
13,4
2240000
300393
2023-03-01
3,5
43,25
8,1
2240000
181272
2023-02-01
3,75
43,25
8,7
2240000
194220
2023-01-01
1
43,25
2,3
2240000
51792
2022-12-01
0
43,25
0,0
2240000
0
2022-11-01
0
43,25
0,0
2240000
0
2022-10-01
0,4
43,25
0,9
2240000
20717
2022-09-01
0,25
43,25
0,6
2240000
12948
2022-08-01
0
43,25
0,0
2240000
0
2022-07-01
0
43,25
0,0
2240000
0
2022-06-01
1,5
43,25
3,5
2240000
77688
2022-05-01
28,2
43,25
65,2
2240000
1460532
2022-04-01
5
43,25
11,6
2240000
258960
2022-03-01
3,75
43,25
8,7
2240000
194220
2022-02-01
4,75
43,25
11,0
2240000
246012
2022-01-01
0,6
43,25
1,4
2240000
31075
2021-12-01
0
43,25
0,0
2240000
0
2021-11-01
0
43,25
0,0
2240000
0
2021-10-01
0,4
43,25
0,9
2240000
20717
2021-09-01
0,25
43,25
0,6
2240000
12948
2021-08-01
0
43,25
0,0
2240000
0
2021-07-01
0,25
43,25
0,6
2240000
12948
2021-06-01
1,75
43,25
4,0
2240000
90636
2021-05-01
49,8
43,25
115,1
2240000
2579237
2021-04-01
6,5
43,25
15,0
2240000
336647
2021-03-01
4,5
43,25
10,4
2240000
233064
2021-02-01
6
43,25
13,9
2240000
310751
2021-01-01
0,6
43,25
1,4
2240000
31075
2020-12-01
0
43,25
0,0
2240000
0
2020-11-01
0
43,25
0,0
2240000
0
2020-10-01
0,75
43,25
1,7
2240000
38844
2020-09-01
0,25
43,25
0,6
2240000
12948
2020-08-01
0
43,25
0,0
2240000
0
2020-07-01
0,25
43,25
0,6
2240000
12948
2020-06-01
9,5
43,25
22,0
2240000
492023
2020-05-01
36
43,25
83,2
2240000
1864509
2020-04-01
4,5
43,25
10,4
2240000
233064
2020-03-01
2
43,25
4,6
2240000
103584
2020-02-01
3
43,25
6,9
2240000
155376
2020-01-01
0,25
43,25
0,6
2240000
12948
2019-12-01
0
43,25
0,0
2240000
0
2019-11-01
0
43,25
0,0
2240000
0
2019-10-01
0,25
43,25
0,6
2240000
12948
2019-09-01
0,2
43,25
0,5
2240000
10358
2019-08-01
0
43,25
0,0
2240000
0

Conclusion

En espérant que cet exemple apporte plus de clarté à la méthodologie. Ce n’est factuellement pas parfait, on parle d’outils et de données mis à disposition par Google après tout… On voit notamment que les données des deux APIs ne sont pas aussi facilement “rapprochables” dans les faits que le dit Google dans sa doc API. Certainement parce que Google Trends agrège les volumes de recherches de plusieurs termes, ou que Google Trends lisse certaines données, là-dessus, je n’ai pas de réponse définitive. Cependant, pour avoir une idée des recherches historiques et faire des analyses de tendances, ça me va comme ça ! Note : de toute manière ça revient à faire confiance à Google Trends, vu que cette méthode revient à superposer les courbes, preuve à l’appui (la seule “décorrélation” se fait sur les valeurs que je récupère de l’API Keyword Planner)
Image without caption
Si vous avez des questions, n’hésitez pas à me contacter, je serai ravi d’y répondre. Également, si vous avez des besoins sur tout ce qui concerne les sujets data x SEO ou sur tous vos sujets data tout court d’ailleurs ! Sur ce, ciao !