Lead Tracking Setup
Little Hyde & Hare
14 September 2026

Founding Family sign-up tracking

How to count every sign-up on the Viral Loops form at hydeandhare.com/pages/little as a conversion in Meta, GA4 and Google Ads. Four steps, about 30 minutes. Every code box has a Copy button.

Why this is needed
1
Nothing is tracking the form today. Every tracking option in the Viral Loops campaign is switched off, and the form doesn't go to a thank-you page, so there's no URL to track either.
2
Viral Loops' own "Facebook Pixel" switch won't work on this site. It needs the pixel code on the page itself. H&H's pixel is loaded only through Shopify's Facebook & Instagram app, which keeps it sealed off from the page, so the switch would silently do nothing.
3
The Lead events Meta already receives are not this form. About 22 to 48 a day fire across the whole H&H site. The LHH ad set optimises for plain Lead, so without Step 3 Meta would count sitewide sign-ups as wins for the LHH ads.
The flow
Viral Loops form
new sign-up
Custom JS
sends it to GTM
Google Tag Manager
GTM-MWB76JF
Meta · GA4 · Google Ads
one conversion each
Step 1 · Viral Loops

Send new sign-ups to GTM

  1. In Viral Loops, open the Little Hyde & Hare campaign, then Integrations.
  2. Find Custom JavaScript and switch it on.
  3. Delete the placeholder line and paste the code below. Save and publish the campaign.
  4. Leave the Facebook Pixel and Google Analytics switches off.
Viral Loops › Integrations › Custom JavaScript
var cp = window.Shopify && window.Shopify.customerPrivacy;
var marketingConsent = !!(cp && typeof cp.marketingAllowed === 'function' && cp.marketingAllowed());

window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
  event: 'lhh_founding_family_signup',
  lead_email: participantData.Email,
  marketing_consent: marketingConsent
});

This only runs for genuinely new sign-ups (not repeat visitors or failed submits), and only once per browser. It also records whether the visitor accepted marketing cookies, so GTM can respect that.

Step 2 · Google Tag Manager

Build the variable, trigger and three tags

Container GTM-MWB76JF. Do these in order.

2a. Variables

TypeData Layer Variable
Variable name
Save it as
TypeData Layer Variable
Variable name
Save it as

The variable names must match exactly, or the Meta code below breaks.

2b. Trigger

TypeCustom Event
Event name
Fires onSome Custom Events: DLV - marketing_consent equals true
Save it as

2c. Tag: Meta Lead

TypeCustom HTML
TriggerCE - LHH Founding Family Signup
Save it as
GTM › Tags › Custom HTML
<script>
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');

fbq('set', 'autoConfig', false, '685478615173197');
fbq('init', '685478615173197', { em: {{DLV - lead_email}} });
fbq('track', 'Lead', { content_name: 'LHH Founding Family' });
</script>

Paste it exactly as is. {{DLV - lead_email}} has no quotes on purpose, because GTM fills it in. There's no PageView call, so page views aren't double counted alongside Shopify's pixel. Meta hashes the email in the browser before sending it.

2d. Tag: GA4 generate_lead

TypeGoogle Analytics: GA4 Event
Measurement IDH&H's GA4 ID (GA4 Admin › Data streams). It isn't in GTM today.
Event name
Event parameter =
TriggerCE - LHH Founding Family Signup
Save it as

Afterwards, mark generate_lead as a key event in GA4.

2e. Tag: Google Ads conversion

  1. In Google Ads: Goals › Conversions › New conversion action › Website › Add manually. Category Sign-up, name , value "Don't use a value", count One. Choose "Use Google Tag Manager" and copy the Conversion label.
  2. In GTM, add the tag below.
TypeGoogle Ads Conversion Tracking
Conversion ID
Conversion labelThe label from step 1 above
TriggerCE - LHH Founding Family Signup
Save it as

The Conversion ID is the one H&H's existing Google Ads tags in this container already use. The container also already has a Conversion Linker.

2f. Publish

Don't publish yet. Test first (Step 4), then Submit › Publish.

Step 3 · Meta

Point the LHH ads at this form only

  1. Events Manager › Custom conversions › Create.
  2. Data source: pixel 685478615173197. Event: Lead.
  3. Rule: Event parameter contains .
  4. Name it , category Sign up.
  5. Switch ad set LHH | Cold | Broad UK | Leads | Sign Ups to optimise for this custom conversion instead of plain Lead.

Casey can do this step once Step 2 is live. The ad set has never spent, so Meta may allow the swap. If it doesn't, the ad set and its 9 paused ads get rebuilt on the new conversion.

Step 4 · Test before anything goes live

Check exactly one Lead arrives

  1. In GTM, click Preview and open https://www.hydeandhare.com/pages/little.
  2. In Meta Events Manager, open pixel 685478615173197Test events.
  3. Accept cookies on the banner, then sign up with a new test email you haven't used on this form before.
  4. In GTM Preview, confirm lhh_founding_family_signup appears with marketing_consent: true and all three tags fired once.
  5. In Meta Test events, confirm one Lead with content_name: LHH Founding Family.
  6. Repeat in a private window, declining cookies. The event should show marketing_consent: false and no tags should fire.
If marketing_consent is false even after accepting cookies: the Nova cookie banner isn't passing consent through Shopify's Customer Privacy API. Check Nova's settings for a Shopify consent option before publishing.
Testing a second time in the same browser? Viral Loops only runs Custom JS once per browser. Use a new private window, or run this in the browser console first:
Browser console (testing only)
localStorage.removeItem('vl_integrations_completed');