Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dkxce/googlekeywordsideas
Receive Google Ads Keywords Ideasfrom Python
https://github.com/dkxce/googlekeywordsideas
ads dkxce google ideas keywords
Last synced: about 5 hours ago
JSON representation
Receive Google Ads Keywords Ideasfrom Python
- Host: GitHub
- URL: https://github.com/dkxce/googlekeywordsideas
- Owner: dkxce
- Created: 2024-07-08T06:46:16.000Z (4 months ago)
- Default Branch: master
- Last Pushed: 2024-07-08T06:47:33.000Z (4 months ago)
- Last Synced: 2024-07-08T08:08:59.490Z (4 months ago)
- Topics: ads, dkxce, google, ideas, keywords
- Language: Python
- Homepage:
- Size: 11.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
#######################################################################
####### ИНСТРУКЦИЯ ПО ЗАПОЛНЕНИЮ ФАЙЛА `google-ads.yaml`` #######
#######################################################################1. Ставим и настраиваем `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`
2. Чтобы получить developer_token нужно зайти в управляющий аккаунт
https://ads.google.com/intl/ru/home/tools/manager-accounts/?hl=ru
в поле поиска ввести `API Center` и открыть найденную страницу.
Следуя инструкциям, создать токен.
3. Чтобы получить `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`. Файл понадобится для следующего шага.
4. Чтобы получить `refresh_token` Необходимо:
Запустить `get_refresh_token.py -f "./google_oauth.json"`
Следовать инструкциям, по окончанию скопировать refresh_token из окна консоли.
5. Получить `login_customer_id` (это ID аккаунта рекламы) вида `XXX-XXX-XXXX`
https://ads.google.com/intl/en/home/tools/manager-accounts/
Записать его без дефисов `-`6. Все полученные на предыдущих шагах значения сохранить в 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`7. Запустить `get_refresh_token.py` для проверки валидности файла и всех параметров.
#######################################################################
########### ИНСТРУКЦИЯ ПО ПОЛУЧЕНИЮ ИДЕЙ КЛЮЧЕВЫХ СЛОВ ###########
#######################################################################1. Запустить `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"`2. Для вызова из кода см. ф-ию `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://...` or `https://...`)
@`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` (возвращается ответ гугла как есть) or `table` (возвращается pandas dataFrame) or `dict`|`list` (возвращается массив dict) or `compact` (возвращается сокращенный массив dict) or `text`
ДОПОЛНИТЕЛЬНЫЕ:
- `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 файле)