AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Change History Checker

skill-fourteenwm-ppc-ai-skills-change-history-checker · by fourteenwm

Query Google Ads account change history for any date range using the `change_status` resource (no 30-day limit, unlike `change_event`). Auto-invoke when user says "what changed in [account]", "change history for [account]", "what did I do in [month]", "audit account changes", or "review optimization history".

No reviews yet
0 installs
29 views
0.0% view→install

Install

$ agentstack add skill-fourteenwm-ppc-ai-skills-change-history-checker

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-fourteenwm-ppc-ai-skills-change-history-checker)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Change History Checker? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Change History Checker

Check Google Ads account change history for any date range (not limited to 30 days).

When to Use

Auto-invoke when:

  • User asks "what changes were made to [account]"
  • User asks "what did I do in [month]"
  • User wants to see optimization history
  • User needs to audit account changes
  • Reviewing past work on accounts

Key Insight: changestatus vs changeevent

Google Ads has TWO change history resources:

| Resource | Date Limit | Detail Level | |----------|------------|--------------| | change_event | 30 days only | Full detail (old/new values, user email) | | change_status | No limit | Resource type, status, date only |

Always use change_status for historical queries beyond 30 days.

Query Pattern

Basic Change History Query

query = '''
    SELECT
        change_status.resource_name,
        change_status.resource_type,
        change_status.resource_status,
        change_status.last_change_date_time
    FROM change_status
    WHERE change_status.last_change_date_time >= '2025-11-01'
    AND change_status.last_change_date_time = '2025-11-01'
    AND change_status.last_change_date_time = '2025-11-01'
    AND change_status.last_change_date_time = '{start_date}'
        AND change_status.last_change_date_time = '2025-11-01'
    AND change_status.last_change_date_time <= '2025-11-30'
    ORDER BY change_status.last_change_date_time DESC
'''

response = ga_service.search(customer_id='1234567890', query=query)
for row in response:
    print(f'{row.change_status.last_change_date_time[:10]} | {row.change_status.resource_type.name}')
"

Resource Type Reference

| Resource Type | What It Tracks | |---------------|----------------| | CAMPAIGN | Campaign settings, status, bidding | | CAMPAIGNBUDGET | Budget changes | | ADGROUP | Ad group settings, status | | ADGROUPAD | Ad changes (RSAs, etc.) | | ADGROUPCRITERION | Keywords, negative keywords, audiences | | ASSET | Extension content (callouts, sitelinks, snippets) | | CUSTOMERASSET | Account-level extension assignments | | ADGROUPASSET | Ad group-level extension assignments | | CAMPAIGNASSET | Campaign-level extension assignments | | CAMPAIGNCRITERION | Campaign-level targeting | | BIDDINGSTRATEGY | Bid strategy changes |

Status Values

| Status | Meaning | |--------|---------| | ADDED | New resource created | | CHANGED | Existing resource modified | | REMOVED | Resource deleted |

Finding Account IDs

If you need to find account IDs first:

# Query MCC for all client accounts
query = '''
    SELECT
        customer_client.id,
        customer_client.descriptive_name
    FROM customer_client
    WHERE customer_client.manager = FALSE
    AND customer_client.status = 'ENABLED'
'''
# Use login_customer_id (MCC ID) to run this query

Common Queries

"What extensions did I update last month?"

Filter: resource_type IN ('ASSET', 'CUSTOMER_ASSET', 'AD_GROUP_ASSET')

"What keywords did I add/remove?"

Filter: resource_type = 'AD_GROUP_CRITERION'

"What campaign settings changed?"

Filter: resource_type IN ('CAMPAIGN', 'CAMPAIGN_BUDGET', 'BIDDING_STRATEGY')

"What ads did I update?"

Filter: resource_type = 'AD_GROUP_AD'

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.