Registering a landing page in Claudphic Ads CRM takes three fields, and wiring the tracking script to your own form takes one JavaScript function call — no drag-and-drop form builder, no scanning your page for inputs, no rewriting your HTML. This guide covers the whole setup, from creating the page in the CRM through to a working submission.
Step 1: Register the landing page
Go to Marketing → Landing Pages → Add landing page and fill in:
- Name — for your own reference in the CRM, e.g. "Diwali Offer — Google Ads".
- Landing page URL — the exact page the ad sends traffic to, including the path
(e.g.
https://yoursite.com/diwali-offer). Include the path if you want submissions locked to that one specific page; leave it as just the bare domain if the same script will live on several pages of the same site. - Allowed origin — normally the same domain as the URL above,
https://yoursite.comwith no path. This is the field that actually gets enforced by the browser itself: a request from any other domain is blocked before it even reaches the CRM, regardless of what a script on that other domain claims.
Save, and the CRM takes you straight to the embed screen for the page you just created — that's where the script tag and the field-by-field integration guide live, generated specifically for this landing page.
Plan limit: the number of active landing pages you can register depends on your plan (see pricing). Revoking a page you're no longer using frees up its slot for a new one — it doesn't count against the limit once revoked.
Step 2: Add the script tag
Paste this once, right before the closing </body> tag on your page (the exact URL is shown on your landing page's embed screen, with your own site key already in it):
<script src="https://claudphicads.com/api/v1/landing/embed/YOUR-SITE-KEY.js" async></script>
This loads one function onto your page, window.ClaudphicLanding.submit(...). It doesn't
touch your existing HTML, doesn't scan the page looking for forms, and doesn't render anything visible —
it's inert until you call it yourself.
Step 3: Call it from your own form's submit handler
You decide exactly which of your form's inputs map to which field — the CRM never guesses:
document.querySelector('#yourForm').addEventListener('submit', function (event) {
event.preventDefault();
ClaudphicLanding.submit({
name: document.querySelector('#yourNameInput').value,
email: document.querySelector('#yourEmailInput').value,
phone: document.querySelector('#yourPhoneInput').value
})
.then(function (result) {
window.location.href = '/thank-you';
})
.catch(function (err) {
console.error(err);
});
});
Five field names map directly onto standard lead fields: name, email,
phone, whatsapp, and company. Anything else your form collects —
budget, city, preferred timing, whatever's relevant to your business — can be sent under any field name
you like; it's never rejected. If the name matches a
custom field you've already created,
it's stored against that field with proper typing and validation. If not, it still comes through and
shows up on the lead under "Extra fields," visible to your team immediately — you can promote it to a
real custom field later without losing any data already collected under that name.
Ad click data is captured automatically — you don't send it
The script reads gclid, gbraid, fbclid, and UTM parameters
straight off the page's own URL and attaches them to every submission on its own. This is what makes
the whole conversion-reporting loop possible later — see
what a gclid is and why it matters if
you're new to this concept.
Spam protection runs automatically too, with one optional step
Three checks run on every submission with nothing added to your page: rejecting submissions that arrive faster than a human could realistically type, rejecting known automation tools, and a per-visitor rate limit. The single most effective addition, and one worth taking the two minutes for, is a honeypot field — an input real visitors never see and never fill, that a bot filling every field it finds will trip:
<!-- hide with CSS, not type="hidden" — bots skip genuinely hidden inputs but still fill this one -->
<input type="text" id="hp" name="_hp" tabindex="-1" autocomplete="off"
style="position:absolute; left:-9999px; opacity:0;" aria-hidden="true">
Then include its value like any other field: _hp: document.querySelector('#hp').value. It's discarded on arrival either way and never appears on the lead.
Testing it
Submit the form on your live page (or a staging copy served from the same registered domain — a localhost test will fail the origin check, correctly), then check Leads in the CRM. If it fails instead with an authorization error, that's almost always a browser default hiding information the older embed script needed — see fixing the "not authorized for this landing page" error for the exact cause and the one-step fix.