Troubleshooting
Fixes for the most common Sjocamp issues — embed not loading, emails in spam, webhook failures.
Embed isn’t appearing on my site
- Open devtools console. A red error mentioning
sjocamp.cousually points right at the problem. - Check your CSP. If your site has a Content Security Policy, add
https://app.sjocamp.coto bothscript-srcandconnect-src. - Check the campaign ID. The
data-campaign-idattribute in your snippet must match the ID in the Embed tab — they’re long opaque IDs and one wrong character breaks everything. - Try the iframe embed. Some platforms (Notion, some WordPress hosts) strip
<script>tags. Switch to the iframe variant. - Disable the ad-blocker. uBlock Origin and Brave Shields occasionally block third-party form widgets. Test in an incognito window with extensions off.
Verification email isn’t arriving
- Check spam. Especially on Gmail — promotional emails often land in the Promotions tab.
- Wait 30 seconds. Initial sends to a fresh address can take a beat to traverse the receiving server.
- Check the leads list. If the lead shows as Pending, the email was sent. If it doesn’t show up at all, the form submission failed — see “Form submits but lead doesn’t appear” below.
- Check your sender domain. If you’ve connected a custom email domain, bad SPF/DKIM records cause inbox providers to drop the email silently. Re-verify the domain.
- Try a different recipient. Some corporate email gateways quarantine all bulk-sender domains. Try sending to a personal Gmail account.
Form submits but the lead doesn’t appear
- Plan limit reached. If you’ve hit your plan’s lead cap, submissions are blocked. Check Billing for the current count.
- Disposable email blocked. If the lead used a temp-mail address, anti-spam rejects it. Try with a real address.
- Velocity-blocked IP. If you’ve been testing the form from one IP repeatedly, velocity detection starts blocking submissions. Wait 10 minutes or test from a different network.
Webhook deliveries are failing
- Check the delivery log. Each webhook has a log on its detail page showing every attempt and the response. The response body usually says exactly what went wrong.
- Verify your endpoint is HTTPS. HTTP endpoints aren’t supported.
- Confirm 2xx responses. Anything else (3xx, 4xx, 5xx) is treated as a failure and triggers a retry.
- Check signature verification. A common mistake: verifying against the parsed JSON body instead of the raw request bytes. Signatures are computed over raw bytes — parse only after you’ve verified.
- Watch for timeouts. Endpoints have 10 seconds to respond. Long-running work belongs in a queue, not in the webhook handler.
Blast bounce rate is high
- Are recipients verified? Blasting unverified addresses tanks deliverability. Target a verified-only segment.
- How old is the list? Email addresses go stale at ~30%/year. A 12-month-old list has a third of its addresses bouncing. Re-engage or prune before blasting.
- Is your sender domain warmed up? A brand-new domain can’t send 50k emails on day one. Start small (a few hundred), increase gradually over 2–3 weeks.
Referral link isn’t tracking
- Confirm the URL has
?ref=CODE. If the lead navigated through the form and the URL changed, the param can get lost. Test in an incognito window with the exact link. - Confirm referrals are on. Inside the campaign, Settings → Referrals must be toggled on.
- Check verified-only mode. If the referee’s status is Pending and you have verified-only mode on, the referral isn’t credited until they verify.
Campaign analytics looks wrong
Analytics is computed asynchronously and can lag behind the live leads list by up to a minute. If numbers don’t match between the Leads tab and Analytics, refresh after 60 seconds.
For longer-term mismatches (more than 5 minutes), check whether you’ve recently deleted leads — analytics counts historical signups, including some deleted ones.
I still can’t fix it
Email support@sjocamp.co with:
- Your campaign ID (from the URL)
- The exact issue and what you’ve tried
- Screenshots of devtools console / network tab errors
- A test signup attempt (timestamp + email used) so we can find it in the logs
We typically reply within a few hours during business days.