{"id":96253,"plugin_id":"plugin_asdk_app_6af24a42a04081918346de95a6678d9c","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-11-14T01:35:27.481Z","digest":"191c0234e1d65d8ae7037a85b20306f251a0c141fe5d7dd9061367841e89ed1e","against":null,"payload":{"description":"Set up Google Ads by Loopthink, work out why it returns no data, or make a change safely. Use when the user has just added the app, asks what it can do, gets a \"connect it at …\" or \"changes are not allowed\" message, cannot find one of their ad accounts, or asks to change a campaign, budget or keyword.","included_files":[],"name":"get-started","skill_md_contents":"---\nname: get-started\ndescription: Set up Google Ads by Loopthink, work out why it returns no data, or make a change safely. Use when the user has just added the app, asks what it can do, gets a \"connect it at …\" or \"changes are not allowed\" message, cannot find one of their ad accounts, or asks to change a campaign, budget or keyword.\n---\n\n# Get started with Google Ads by Loopthink\n\nThe app reads the Google Ads accounts the user connected in Loopthink, and only\nthe ones their member group was granted. The tools are always the same:\n\n- `connection_status`: whether Google Ads is connected, and the link to connect it\n- `google_ads_list_accounts`: the accounts the user can report on\n- `google_ads_report`: a report on one account\n- `google_ads_mutate`: changes to one account, where the workspace allows them\n\n## 1. Find out what is connected\n\nCall `connection_status`.\n\n- **`connected: true`.** Call `google_ads_list_accounts` and pass the\n  `customerId` exactly as returned to `google_ads_report`.\n- **`connected: false`.** Give the user the `connectUrl` and continue with step 2.\n\n## 2. Connect Google Ads\n\nSend the user to the link. Do not try to do it for them: it needs a Google\nsign-in in their browser.\n\n1. Sign in to Loopthink and add Google Ads.\n2. Sign in with the Google account that has access to the ad accounts.\n3. Pick the accounts the app may read. Client accounts under a manager\n   account work too.\n\nThen ask the question again. The tools do not change, so nothing needs\nrefreshing or reconnecting in ChatGPT.\n\n## 3. An account is missing\n\n- It was not picked when Google Ads was connected: an admin adds it on the\n  server in the Loopthink web app.\n- The person's member group was not granted it: an admin grants it.\n- The Google account behind the connection cannot see it.\n\n## Notes for answering\n\n- Cost comes as `cost_micros`: divide by 1,000,000 for the account's currency.\n- Pick `resource` by question: `campaign`, `ad_group`, `ad_group_ad`,\n  `keyword_view` for keywords, `search_term_view` for search terms.\n- Use `dateRange` (for example `LAST_7_DAYS`, `LAST_30_DAYS`, `THIS_MONTH`) or\n  `startDate`/`endDate`.\n## Making changes\n\n- Before any change, say exactly what will change and ask the user. Run\n  `google_ads_mutate` with `dryRun: true` first when the change is more than\n  one field, and show the result.\n- Get resource names from `google_ads_report` (for example the dimension\n  `campaign.resource_name` or `campaign.campaign_budget`). Amounts are micros:\n  30 euros is `30000000`.\n- The app never starts a campaign and never removes anything. New campaigns\n  are created paused, and a paused campaign cannot be set to enabled here: the\n  user does that in Google Ads. Ad groups, ads and keywords inside a campaign\n  can be enabled.\n- If the answer says changes are not allowed, pass it on: a workspace admin\n  turns on \"Allow changes\" on the Google Ads server in Loopthink and grants the\n  member group the change tool. Reports keep working meanwhile.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}