#######################################################################
####### ИНСТРУКЦИЯ ПО ЗАПОЛНЕНИЮ ФАЙЛА `google-ads.yaml`` #######
#######################################################################
-
Ставим и настраиваем
google-ads
pip install google-ads
Для работы
GoogleAdsClient
нужен файл настроек Yaml, который хранит конфигурацию для подключения к сервисам Google.Для инициализации
GoogleAdsClient
нужны 5 параметров:
-developer_token
(Basic or Standard access)
-client_id
-client_secret
-refresh_token
-login_customer_id
-
Чтобы получить developer_token нужно зайти в управляющий аккаунт
https://ads.google.com/intl/ru/home/tools/manager-accounts/?hl=ru
в поле поиска ввестиAPI Center
и открыть найденную страницу.
Следуя инструкциям, создать токен. -
Чтобы получить
client_id
иclient_secret
необходимо создать проект
https://console.cloud.google.com/project
Потом зайти вsettings
проекта, в поле поиска ввестиcredintals
,
в результатах выбратьAPIs & Services Credintals
.
Нажать+ Create credintals
и выбратьOAuth Client ID
.
Заполнить все необходимые данные, в т.ч. добавить тестового пользователя.В итоге мы получим
client id
иclient secret
, которые надо скачать в виде JSON файла
и сохранить как./google_oauth.json
. Файл понадобится для следующего шага. -
Чтобы получить
refresh_token
Необходимо:
Запуститьget_refresh_token.py -f "./google_oauth.json"
Следовать инструкциям, по окончанию скопировать refresh_token из окна консоли. -
Получить
login_customer_id
(это ID аккаунта рекламы) видаXXX-XXX-XXXX
https://ads.google.com/intl/en/home/tools/manager-accounts/
Записать его без дефисов-
-
Все полученные на предыдущих шагах значения сохранить в Yaml файл
./google-ads.yaml
Скачиваем шаблон https://github.com/googleads/google-ads-python/blob/main/google-ads.yaml
и сохраняем его как./google-ads.yaml
P.S:use_proto_plus
устанавливаем вFalse
-
Запустить
get_refresh_token.py
для проверки валидности файла и всех параметров.
#######################################################################
########### ИНСТРУКЦИЯ ПО ПОЛУЧЕНИЮ ИДЕЙ КЛЮЧЕВЫХ СЛОВ ###########
#######################################################################
-
Запустить
get_keyword_ideas.py
со следующими параметрами:-g
- Список двухзначных ISO кодов стран, например:US
илиUS,CA
-l
- 2-х значный код языка, например:en
илиes
илиzh_CN
-k
- Список ключевых слов разделенной запятой, например:dental implants
илиdental implants, free implants
-p
- [опционально], site to filter unrelated keywordsСкрипт читает credintals из Yaml файла
./google-ads.yaml
На выходе будет таблица ключевиков, также сформируется файлlast_results.csv
.Пример:
get_keyword_ideas.py -g "US,CA" -l "EN" -k "dental implants, free dentist"
Пример:get_keyword_ideas.py -g "ES" -l "ES" -k "implantes dentales"
Пример:get_keyword_ideas.py -g "DE" -l "DE" -k "zahnimplantate"
Пример:get_keyword_ideas.py -g "DE,DK" -l "DE" -k "zahnimplantate"
-
Для вызова из кода см. ф-ию
get_keyword_ideas
:def
get_keyword_ideas
(geos
: str | list =US,CA
,lang
: str =EN
,keywords
: str | list | None =dental implants, free implants
,page_url
: str | None = None,**kwargs
) -> list | None:
'''
API Keyword Planner Call (Get Keyword Ideas).
@geos
- Список двухзначных ISO кодов стран, например:US
илиUS,CA
@lang
- 2-х значный код языка, например:en
илиes
илиzh_CN
@keywords
- Список ключевых слов разделенной запятой, например:dental implants
илиdental implants, free implants
@page_url
- site to filter unrelated keywords (http://...
orhttps://...
)
@kwargs
:
ОСНОВНЫЕ:
-yaml_path
- Путь к Yaml файлу./google-ads.yaml
(если не указаныcredintals
)
-credintals
- None|file
|env
|yaml_config_string|dict (Конфигурация для инициализации GoogleAdsClient, задаются вместо Yaml файла)
-customer_id
- Google Ads Customer ID (в формате: XXXXXXXXXX not XXX-XXX-XXXX, если нужно указать другой, не тот что в credintals или yaml Yaml файле)
-out_as
-default
(возвращается ответ гугла как есть) ortable
(возвращается pandas dataFrame) ordict
|list
(возвращается массив dict) orcompact
(возвращается сокращенный массив dict) ortext
ДОПОЛНИТЕЛЬНЫЕ:
-adult
: True (взрослый контент)
НЕ ИСПОЛЬЗУЕМЫЕ:
-with_annotations
: True (с аннотациями; не работает на текущей версии!)
ПРОЦЕССИНГ:
-with_null_geos
: True (не устанавливать geo в DEFAULT_LOCATION_IDS если страна не найдена)
-with_null_lang
: True (не устанавливать язык в DEFAULT_LANGUAGE_ID если язык не найден)
-proccessing
: dict для вывода параметров для поиска (преимущественно geos и lang); подробнее см.get_keyword_ideas.py
и вывод в консоль
'''@kwargs
[credintals
] могут быть:
- None - ищется Yaml файл./google-ads.yaml
-file
- ищется Yaml файл./google-ads.yaml
-env
- параметры берутся из переменной окружения;
имена должны быть те же что и в Yaml файле но с префиксомgoogle_ads_
,
Например:
use_proto_plus=False
->google_ads_use_proto_plus=False
login_customer_id=XXXXXXXXXX
->google_ads_login_customer_id=XXXXXXXXXX
developer_token=...
->google_ads_developer_token=...
- yaml_config_string - передается содержимое Yaml файла с параметрами
- dict - передается словарь с параметрами (имена должны быть те же что и в Yaml файле)