Campaign UTM Auditor
Pricing
$20.00 / 1,000 campaign audit reports
Campaign UTM Auditor
Audit campaign destination URLs for missing UTM parameters, conflicting tags and naming errors. Export a prioritized report before ads go live. Ready to check your campaign links?
Pricing
$20.00 / 1,000 campaign audit reports
Rating
0.0
(0)
Developer
Daniel Michałek
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Security
Limited permissionsShare
Audit exported destination links before launching or handing over a campaign. One run checks up to 500 URLs and produces a prioritized JSON and CSV report. This deterministic audit requires no AI subscription, ad-account login, proxy or destination crawl.
What it does
Find missing source, medium and campaign tags; uppercase parameter names; duplicate or conflicting values; whitespace; naming mismatches; UTM tags hidden in fragments; unresolved ad-platform macros; and attribution groups split by letter case. Supply exact source and medium allowlists and choose a campaign naming convention.
Rows are marked PASS, WARN or ERROR. Findings contain codes, severities, duplicate-row references and suggested URLs where a mechanical suggestion is possible. Click IDs, product variants, non-UTM query parameters and normal fragments are retained. The Actor does not modify advertisements or request destination pages.
Input
Required field links accepts 1 to 500 URL strings or objects containing url and optional id and campaignName. Each URL is limited to 8192 characters; the combined URL text to 500000 characters; metadata strings to 200. Oversized or malformed batches fail instead of silently truncating campaign exports. Individual invalid URLs become ERROR rows without echoing their raw text.
campaignConvention is lowercase-dash by default; alternatives are snake_case and any. allowedSources and allowedMediums are optional arrays of up to 30 exact, case-sensitive values. normalizeSourceMedium defaults to false; opting in changes source and medium values only in suggestions. Campaign values are not lowercased automatically.
Output
One dataset item contains summary counts, attribution groups, rows and recommendations. Each row includes its identifiers, sanitized destination, source, medium, campaign, status, findings and nullable suggestedUrl. Key-value records AUDIT (JSON), AUDIT_CSV (UTF-8 CSV with BOM) and REPORT (Markdown) support client handover. Spreadsheet formula prefixes are escaped in CSV.
Pricing and cost control
The listing price is $0.02 per completed audit-report event, covering the entire batch of up to 500 URLs, not each URL. There is one report event per successful run; invalid batches produce no report event. Apify may display platform or startup usage separately according to the active listing and plan. Set the run charge limit to control event charges. There is no paid model, proxy or external service.
Limitations and fair use
PASS describes syntax and configured rules, not proven analytics delivery, destination availability, ad approval or campaign performance. Custom channel grouping can be valid; warnings request review. Macros require verification in their originating ad platform. Suggested URLs are drafts: review before replacing historical links, signed URLs, SPA routes or click tracking. The Actor does not remove click IDs or infer missing attribution values.
Known secret-like query keys, URL credentials and detected email addresses are masked in reports. The local source also recognizes sensitive parameter names in URL fragments and encoded query keys. A matching fragment is withheld in full, marked FRAGMENT_WITHHELD and receives no suggested URL. Ordinary fragments remain unchanged without any claim that they are safe. This is not comprehensive anonymization: recognition uses a fixed key list and bounded decoding. Avoid passwords, customer data and private tokens in input. Apify still stores run input independently of output masking.
Example
Supply https://shop.example/p?utm_source=google&utm_medium=cpc&utm_campaign=winter-sale for a PASS example. An uppercase UTM_Source receives a parameter-name error. A link containing only utm_source reports missing medium and campaign. See examples/input.json and examples/output.json for an executed batch. Example domains are synthetic; the actual SDK run, files and billing event are independently verified during release.