Install
$ agentstack add skill-fourteenwm-ppc-ai-skills-change-history-checker ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo 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.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
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 →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.
- Author: fourteenwm
- Source: fourteenwm/ppc-ai-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.