ad-platform-credentials
Skill1 starsChanged 4 days agoMITView on GitHub
Obtain, verify, and store server-side conversion credentials for Meta, GA4, Google Ads, and LinkedIn. Use when a Meta CAPI token cannot read pixel metadata, a GA4 Measurement Protocol secret is blocked by acknowledgement, Google Ads shows Explorer Access, or you need to know which token type to use.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- pooriaarab/skillsword for word, first seen Nov 7, 2026
Other versions1 project uses a version of this.
Word for word · 1
- pooriaarab/skills★ 1100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository325 other files it gives its agents.
- AGENTS.mdAGENTS.md
- accept-x402-paymentsSkill
- ad-auto-optimizerSkill
- ad-conversion-hubSkill
- ad-creative-generationSkill
- ad-creative-templatesSkill
- ad-experimentsSkill
- ad-image-prompt-librarySkill
- adobe-express-addonSkill
- ads-amazonSkill
- ads-apple-searchSkill
- ads-baiduSkill
- ads-bilibiliSkill
- ads-chatgptSkill
- ads-copilotSkill
- ads-criteoSkill
- ads-discordSkill
- ads-douyinSkill
- ads-googleSkill
- ads-hotstarSkill
- ads-kakaoSkill
- ads-kuaishouSkill
- ads-lgSkill
- ads-lineSkill
- ads-linkedinSkill
- ads-mercadolibreSkill
- ads-meta-aiSkill
- ads-metaSkill
- ads-microsoftSkill
- ads-mojSkill
- ads-naverSkill
- ads-nextdoorSkill
- ads-outbrainSkill
- ads-perplexitySkill
- ads-pinterestSkill
- ads-quoraSkill
- ads-redditSkill
- ads-rokuSkill
- ads-samsungSkill
- ads-sharechatSkill
- ads-shopeeSkill
- ads-snapchatSkill
- ads-spotifySkill
- ads-stackadaptSkill
- ads-stravaSkill
- ads-taboolaSkill
- ads-tencentSkill
- ads-tiktokSkill
- ads-trade-deskSkill
- ads-twitchSkill
- ads-vkSkill
- ads-wazeSkill
- ads-weiboSkill
- ads-xiaohongshuSkill
- ads-xSkill
- ads-yahoo-japanSkill
- ads-yandex-directSkill
- ads-yelpSkill
- agent-avatar-systemSkill
- agent-browser-consolesSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 7 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 32
Verify with a probe that sends nothing:
- Distinctive: line 65
Verify without recording anything:
- Distinctive: line 84
Check whether a developer token already exists.
- Distinctive: line 86
Check the access level before use.
- Distinctive: line 103
Verify against a LinkedIn Page.
- Distinctive: line 104
Prefer reusing an already-verified app.
- Distinctive: line 113
Never echo a token to stdout.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
ad-platform-credentials
A conversion hub (see ad-conversion-hub) fans one conversion out to many platforms. Each platform needs its
own credential from its own console. This skill covers the four platforms with
verified first-hand paths: Meta, GA4, Google Ads, and LinkedIn. Do not write
steps for a platform nobody has logged into.
Meta: Conversions API token
- Open Events Manager. Select the dataset. Open Settings.
- Open Conversions API. Select Set up direct integration.
- Skip the Dataset Quality API option. Generate the access token.
- Copy the token now. Store it per Storage.
This yields a non-expiring SYSTEM_USER token. Use these names:
META_PIXEL_ID public dataset (pixel) identifier
META_CAPI_TOKEN server-only Conversions API tokenThe trap: the token reports scopes: [read_ads_dataset_quality] and cannot
read pixel metadata. GET /<pixel>?fields=id,name returns (#100) Missing
Permission. It still sends conversions. Do not discard it. Do not request
broader scopes for the fleet.
Verify with a probe that sends nothing:
POST https://graph.facebook.com/v21.0/<META_PIXEL_ID>/events
body: {"data": [], "access_token": "<META_CAPI_TOKEN>"}
code 100 -> authorized ("param data must be non-empty")
code 190 -> not authorized ("Invalid OAuth access token")Distinguish on the error code, not the message. Getting this wrong discards a working token and over-permissions the fleet. One System User token can serve multiple pixels. This was verified against two.
GA4: Measurement Protocol secret
- Open Admin. Select Data streams. Select the stream.
- Open Measurement Protocol API secrets. Select Create.
- Copy the secret now. It is create-only. The console never shows it again.
Use these names:
GA4_MEASUREMENT_ID the G- id, readable from the stream
GA4_API_SECRET create-only Measurement Protocol secretCreation is gated behind a User Data Collection Acknowledgement. That is a legal attestation. It asserts the operator holds privacy disclosures and end-user rights. The owner approved it for fleet properties on 2026-09-04. An agent may accept that one acknowledgement for fleet properties. An agent must never extend that approval to any other attestation. When in doubt, stop and ask the owner.
Verify without recording anything:
POST https://www.google-analytics.com/debug/mp/collect?measurement_id=<GA4_MEASUREMENT_ID>&api_secret=<GA4_API_SECRET>
validationMessages: [] means acceptedThe debug endpoint records nothing.
Cloud API access is not GA4 access. A service account can report
admin_api_status: 200 and ok: true with an empty visible_properties.
That means it was never added inside GA4 under Admin, Account access
management. That step is the one people miss. Add the service account there.
doctor looking healthy is what makes this gap dangerous, so check
visible_properties explicitly.
Google Ads: developer token and OAuth
- Open the manager account. Open Admin, API center.
- Check whether a developer token already exists. Do not assume a new application is needed.
- Check the access level before use. Explorer Access works only against test accounts. Production needs Basic Access. That upgrade is a different flow from a first application.
Use these names:
GOOGLE_ADS_DEVELOPER_TOKEN developer token from the manager account
GOOGLE_ADS_LOGIN_CUSTOMER_ID manager CID, digits onlyYou also need an OAuth desktop client and a refresh token. Store them in the same per-platform file.
LinkedIn: Advertising API access
- Access is granted per app. The app must be Company-verified.
- Verify against a LinkedIn Page. A member profile does not qualify.
- Prefer reusing an already-verified app. Re-verification is slow.
- A Page association on a new app is permanent once saved. Choose carefully.
- Requesting access accepts the Marketing API program terms. It opens a Qualtrics form with a 21-day deadline. Calendar the deadline on request day.
Storage
- Store one file per platform in
~/Documents/Personal/.secrets/. - Set mode 0600 on each file.
- Never echo a token to stdout. Print its length and its destination path.
- Back up a working credential before any re-auth that could replace it.
Common pitfalls
- Discarding a working Meta token because a read call failed.
- Reading the Meta error message instead of the error code.
- Accepting a new legal attestation without owner approval.
- Assuming Cloud API access grants GA4 property access.
- Applying for a new developer token before checking the API center.
- Using Explorer Access credentials against production accounts.
- Associating a new LinkedIn app with the wrong Page.
- Missing the 21-day Qualtrics deadline.
- Echoing a secret to stdout or committing it.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

