Troubleshooting¶
Work through the symptom that matches what you see. Always confirm Reports → Click Logs for the same time window.
php-curl is missing¶
PHP snippets need the cURL extension.
- On the server, enable
curlfor the PHP version Apache/Nginx uses. - Confirm with a page that calls
phpinfo()and listscurl. - Until cURL is on, use Link Cloaking or fix the host.
File not found / 404 after install¶
- The SCRIPT belongs on the landing URL you put in ads, not only in a plugin folder.
- WordPress: the Cloakerly block must be on that page, and the plugin must be activated.
- Reverse proxy: the rewrite rule must send
/(or your path) to the PHP file.
Page looks broken¶
- Output before the PHP snippet (BOM, HTML,
echo) corrupts headers and can mangle the page. Keep the snippet first. - Reverse proxy may stream origin HTML without rewriting asset URLs. Host CSS/JS on the origin with absolute HTTPS URLs.
- Iframe mode (PHP cURL no redirect) looks blank if the offer forbids framing.
Too many redirects¶
- The affiliate URL points back to the same page that runs the snippet.
- Two Cloakerly snippets run on one request (theme + plugin, or PHP + JavaScript).
- Tracker and Cloakerly both redirect in a loop. Use either Link Cloaking or on-page PHP, not both on the same hop.
Blank page¶
- PHP fatal error — check the host error log.
- Blocked visitors: some snippets call
exitwith no HTML. That is expected for BLOCK. Check Click Log status. - JavaScript redirect to
about:blankon block — expected for the JS tab.
Forbidden (403)¶
- Reverse proxy returns 403 when Cloakerly blocks the visitor.
- WAF / host firewall blocking the outbound check from your server. The landing host must be allowed to call Cloakerly.
- Campaign or account not entitled — sign in and confirm the plan is active.
No clicks in reports¶
- Dates and timezone do not include the test.
- You opened a URL without the snippet (cached HTML, wrong domain,
wwwvs apex). - Campaign never received the request (ad still points elsewhere).
- Browser cache serving a static file. Bypass cache or use a query string.
Click count mismatch¶
- Ad platform counts impressions or view-throughs; Cloakerly counts server hits that ran the check.
- JavaScript integration misses visitors who leave before the script runs.
- Filters block quickly; money clicks will be lower than ad clicks. That can be correct.
Internal server error (500)¶
- PHP syntax error after a bad paste. Re-copy from SCRIPT.
- Host timeout. Reverse proxy origin is slow — raise timeouts only on your host, not by stacking more hops.
Everyone sees the safe page¶
- Status is In-Active or In Review.
- Enable GCLID / FBCLID is Yes, but the test URL has no click ID.
- Strict UTM is on and a required key is missing.
- Country / language / OS / device / network type excludes you.
- Allow VPN is off and your test IP is on VPN.
- Frequency cap already used up.
- IP Blacklist includes you.
Read Reason on the click log before changing filters.
Everyone sees the affiliate page¶
- Status is Allow All.
- You are Whitelisted.
- Filters are all ALL and VPN/datacenter are allowed.
- Real users stay on page is off and you qualify as allowed — that is correct for Active.
Wrong affiliate URL¶
- Traffic % split is sending people to another group.
- Mobile/Tablet/Mac URL is set and you are on that device.
- Forward all UTM or custom tracking rewrote the query; the path should still match what you entered.
WordPress admin works but the site does not filter¶
The integration skips wp-admin on purpose. Test in an incognito window on the public page.
Link cloaking opens but does not send to the offer¶
- Campaign status In Review / In-Active.
- Affiliate Default Url empty or invalid.
- Token/campaign mismatch — copy Link Cloaking again from that campaign’s SCRIPT page.
Client API returns 403¶
The Client API is pay-as-you-go only. Monthly plan accounts receive pay_as_you_go_required. Use a pay-as-you-go account, or stay with campaign SCRIPT integration.
Client API returns 402¶
No credits left. Top up on Plans, then retry.
Still stuck¶
- Copy campaign name, status, approximate time, and the Click Log Reason.
- Note the integration tab (PHP, WordPress, Link Cloaking, …).
- Contact Cloakerly support from the dashboard footer or your onboarding channel. Do not send full SCRIPT tokens in public chats.