Skip to main content
Carrd forms can POST to a custom URL, but they cannot add the X-Api-Key header Trackly requires, so a form pointed straight at Trackly is rejected with 401. Route the form through a relay that adds the header, or use the iframe embed (Method 2), which needs no credentials.

Method 1: Form with Custom URL (via a relay)

Step 1: Create your form

  1. Add a Form element to your Carrd site
  2. Add fields:
    • Phone (name: phone, type: text, required)
    • Name (name: first_name, type: text)
  3. Add a text element below the form with TCPA consent language: “By signing up, you agree to receive SMS marketing messages. Msg & data rates may apply. Reply STOP to unsubscribe.”

Step 2: Configure the form action

  1. Select the form element
  2. Set Action to: Custom URL
  3. Set the URL to your relay’s URL. The relay forwards the submission to:
  4. Carrd sends form data as application/x-www-form-urlencoded — Trackly accepts this automatically

Step 3: The relay

Carrd forms cannot set custom headers (like X-Api-Key), so the relay has to add it: Option A: Use the iframe embed instead (recommended — see Method 2 below) Option B: Use a simple redirect proxy — set up a free Cloudflare Worker or similar that adds your API key header and forwards the request to Trackly’s webhook.

Step 4: Hidden fields

Add hidden fields to include required data:
  • list_id: your Trackly sending list ID
  • consent_text: your TCPA consent language
Since Carrd forms can’t set custom headers, the iframe embed is the easiest approach:
  1. Add a Widget / Embed element to your site
  2. Set Type to Code
  3. Paste:
  4. Replace YOUR_PUBLIC_TOKEN with your opt-in configuration’s public token
Since Carrd is often used for simple landing pages, a direct link works well:
  1. Add a Button element
  2. Set the URL to: https://api.tracklysms.com/s/<your-slug>
  3. Mobile visitors will be taken directly to their SMS app; desktop visitors see a web form