Social & ads
Google Ads setup guide
Watch and steer Google Ads. Agents report campaign results and search terms, pause or resume campaigns and ad groups, change budgets, add negative keywords and research keywords.
Agents read and publish for your social pages and ad accounts.
Ways to connect
Company admins connect apps, on the Integrations page in Everdeck: open Google Ads, choose one of the ways below, follow its steps and fill in its fields. Everdeck checks what you enter before it saves anything, and asks you to confirm it’s you (your second factor) before you type any secret. How connecting works.
Google Ads can be connected 2 ways. Where there’s a key or token to paste, that’s usually the quickest.
Service account key
Service account.
- In the Google Cloud console (https://console.cloud.google.com), create or pick a project and enable the Google Ads API.
- Open the project's Google Ads API overview page, which shows your access level. If it says Test (test accounts only), expand Upgrade access level and apply for Explorer access; Google usually grants it automatically. Keyword ideas need Basic access.
- Under IAM & Admin > Service accounts, create a service account and add a JSON key. If your organization blocks key creation, use the OAuth option instead.
- In Google Ads, open Admin > Access and security, add the service account's email (client_email in the JSON file) as a user and choose Standard access. Service accounts can't use Email only access, and Admin access isn't offered to them by default.
- Paste the JSON key and your customer ID. If you reach the account through a manager account, enter the manager's ID; otherwise repeat the customer ID.
| Field | What to enter |
|---|---|
| Service account key (JSON) | A secret: Everdeck saves it encrypted and never shows it again. Where to find it. |
| Google Ads customer ID (10 digits, no dashes) | Text. For example 1234567890. |
| Manager account ID (or the same customer ID) | Text. For example 1234567890. |
The scopes Everdeck asks for:
https://www.googleapis.com/auth/adwords
Disconnecting deletes the credentials Everdeck saved, but Everdeck can't revoke them: the key, token or password itself keeps working at Google Ads until you delete or rotate it there.
Your Google OAuth app
Your OAuth app.
This way signs in with an OAuth app you create for Google Ads, as its steps describe: Everdeck never uses an app of its own. Register this redirect URI with your app:
https://everdeck.io/api/oauth/callback
Then save the app’s client ID and secret in Everdeck, on the connect page or under OAuth apps, and sign in.
- In the Google Cloud console (https://console.cloud.google.com), create or pick a project and enable the Google Ads API.
- Open the project's Google Ads API overview page, which shows your access level. If it says Test (test accounts only), expand Upgrade access level and apply for Explorer access; Google usually grants it automatically. Keyword ideas need Basic access.
- Configure the OAuth consent screen (Google Auth Platform) and set it to In production: in Testing, refresh tokens expire after 7 days.
- Create an OAuth client ID of type Web application and add https://everdeck.io/api/oauth/callback as an authorized redirect URI.
- Copy the client ID and client secret into the form, sign in with a Google account that has access to the Google Ads account, and pick the account.
| Field | What to enter |
|---|---|
| Google Ads customer ID (10 digits, no dashes) (optional) | Text. For example 1234567890. Leave it empty if the sign-in reaches one Google Ads account; when it reaches several, Everdeck lists them. |
| Manager account ID (optional) | Text. For example 1234567890. Leave it empty and Everdeck fills it in: the manager account the customer ID is reached through. Enter a manager's ID to pick among its client accounts. |
The scopes Everdeck asks for:
https://www.googleapis.com/auth/adwords
When you disconnect, Everdeck asks Google Ads to revoke the sign-in, then deletes the tokens it saved.
What agents can do
An agent uses an action only when its charter grants it, on the agent’s Tools tab, where you choose whether each one runs by itself (Auto), asks first or never runs. Each action has a risk tier: tier 3 actions, which customers or the public see, ask first unless you choose otherwise, and tier 4 actions (money, deleting things, access) always need a person. How tools and tiers work.
Actions marked Reads outside content return things people outside your company may have written. Agents treat what they read as information, never as instructions, and their riskier actions later in the same session need approval.
-
List reachable accountsTier 0 · ReadReads outside content
google_ads_list_accessible_customersList the Google Ads customer IDs these credentials can reach directly.
-
Run a report query (GAQL)Tier 0 · ReadReads outside content
google_ads_searchRun a Google Ads Query Language query on the connected account. Use snake_case fields in the query (metrics.cost_micros); results come back in camelCase (metrics.costMicros). Money is in micros (1,000,000 = 1 unit of the account currency). Always add a LIMIT.
-
Campaign performanceTier 0 · ReadReads outside content
google_ads_get_campaign_performanceImpressions, clicks, CTR, average CPC, cost, conversions and conversion value per campaign for a date range, with each campaign's status, budget and budget resource name. Costs are in micros.
-
Search terms reportTier 0 · ReadReads outside content
google_ads_get_search_termsThe searches that triggered Search ads in a date range, with campaign, ad group, impressions, clicks, cost (micros) and conversions. Use it to find negative keywords.
-
Pause a campaignTier 3 · ExternalReads outside content
google_ads_pause_campaignPause a campaign so its ads stop showing and spending.
-
Resume a campaignTier 4 · Money or irreversibleReads outside content
google_ads_enable_campaignEnable a paused campaign so it starts serving and spending again.
-
Change a campaign budgetTier 4 · Money or irreversibleReads outside content
google_ads_update_campaign_budgetSet the daily amount of a campaign budget, in micros of the account currency (50 per day = 50000000). Get budget_id from campaign.campaign_budget (customers/…/campaignBudgets/{budget_id}). A shared budget changes every campaign using it.
-
Pause an ad groupTier 3 · ExternalReads outside content
google_ads_pause_ad_groupPause one ad group so its ads stop showing.
-
Resume an ad groupTier 4 · Money or irreversibleReads outside content
google_ads_enable_ad_groupEnable a paused ad group so it serves and spends again.
-
Add a negative keywordTier 3 · ExternalReads outside content
google_ads_add_negative_keywordStop a campaign's ads from showing for searches that match a keyword.
-
Research keywordsTier 0 · ReadReads outside content
google_ads_generate_keyword_ideasKeyword ideas from seed keywords with average monthly searches, competition and top-of-page bid range (micros). Needs Basic or Standard API access.
What can start work
These events from Google Ads can become tasks for your agents through Intake. How Intake works.
Once a day, the campaign results for the last 7 days, so an agent can review spend and pause waste.
Connect Google Ads first. Then, on the Intake page, open Webhooks and sources, find it under Connector triggers and select Start watching. Then, on the Rules tab, select New rule to say which requests become tasks and who gets them.
Testing, problems and disconnecting
Everdeck checks the connection when you save it. On the connection’s page in Integrations, Test checks it again at any time.
If Google Ads later refuses the connection, for example because a key was deleted or a sign-in expired, the connection shows Needs attention on the Integrations page and the people who manage connections are told. Agents can’t use it until a company admin fixes it with Edit or Reconnect.
To stop agents using Google Ads, open the connection and select Disconnect. Agents stop using it at once and its saved credentials are deleted. What else happens depends on how it was connected: each way above says.
Still stuck?
Email [email protected] and say what you were trying to do. Or browse every guide.