Skip to content

Marketing tracking

Find which directories, social posts and campaigns bring saved enquiries, then look at the recorded bookings behind them. Start with source tracking; you do not need to buy ads or connect Google to use these reports.

Open Marketing tracking from Business settings, Forms or Analytics. This is a Pro business feature. Free wedding-team collaboration is unchanged.

  • Which sources bring enquiries you can actually serve.
  • Where visits are recorded but no enquiries are attributed, so you can investigate the link, page and form.
  • Which enquiries lack a source, so you can improve measurement before spending more.

A source label is evidence about a journey, not proof that an advertisement caused a booking. Read the actual enquiries alongside the counts.

  1. Save your website in Business settings. Use its final HTTPS address: www.example.com and example.com are different origins. The installation supports one exact website origin.
  2. Open Marketing tracking and copy Website installation code. Add it once to every website page, before the Wedding Computer enquiry embed. Keep your existing form and Google tag.
  3. Connect your consent manager. If consent is already granted, set window.wcTrackingConsent = true before the installation script. For later changes, use the following after the script has loaded:
// Call only when your visitor grants the relevant consent.
window.WeddingComputerTracking.setConsent(true);
// Call when that consent is withdrawn.
window.WeddingComputerTracking.setConsent(false);

Your consent manager still controls Google’s own consent settings. The script sets no cookies. Consent enables visit measurement, source retention for up to 90 days and configured Google events. Without consent, current-page attribution can still accompany the form; cross-page retention and visit measurement are off.

  1. Check an ordinary page visit with consent and look for Last observed page view. After the next genuine enquiry, check its source. A thank-you page visit alone is not a lead. Use staging and provider test tools for testing; repeated production test enquiries can contaminate reports and Google conversions.

If your website has a Content Security Policy, ask its maintainer to permit the Wedding Computer script and collector. Native/API forms can send an attribution object from window.WeddingComputerTracking.attribution() through their server; keep the intake key server-side. They need their own Google success handler. See Enquiry forms.

Use Create a campaign link with a page on your saved website. Copy the resulting link into the placement, rather than the unlabelled page address.

Example placement Source Medium Campaign
Directory listing directory-name referral profile
Instagram profile instagram social profile
Open-day newsletter newsletter email open-day
Printed QR code wedding-fair qr spring-fair

These are naming examples, not performance claims. Keep spelling and case consistent. Use Content or variation to distinguish placements within a campaign; the summary groups by source, medium and campaign. Never put customer names, email addresses or phone numbers in labels. Keep Google Ads auto-tagging if you already use it; do not copy somebody else’s click identifier into a shared link.

For embedded enquiries, install your own Google tag, then enter your GA4 measurement ID (G-…) and/or Google Ads enquiry destination (AW-…/conversion-label). Save. Events are sent after an enquiry is saved and consent is granted. Avoid counting the same lead again through another tag or an imported Analytics conversion.

Enhanced conversion matching is a separate opt-in. It allows hashed email/phone identifiers in your configured Google events and private feed. Check your privacy and consent arrangements and Google’s requirements before enabling it. Hashing does not remove those responsibilities.

For later qualified leads and bookings:

  1. Create the corresponding conversion actions in Google Ads; enter their exact names here.
  2. Create a feed password. Copy it immediately; only its hash is stored. Replacing or revoking it stops the previous credential.
  3. In Google Ads Data Manager, connect the private feed URL using HTTPS and the displayed username/password. Configure each action separately and filter Conversion action to its exact name.
  4. Map the transaction ID, event time, click identifiers, value/currency and optional matching columns. Keep IDs stable and do not hash the already-hashed identifiers again. Follow the HTTPS connection guide.
  5. Check Last authenticated fetch, then Google’s import diagnostics. A download is not proof of an accepted conversion. Empty feeds have headers only; you may need a real eligible outcome before Google can detect columns.

The feed covers eligible recorded outcomes from the last 90 days. Married by Josh’s existing tags, matching and private feeds remain protected; its new script adds consented traffic observations only. Do not replace that existing installation with generic Google settings.

Observed visits are browser-tab sessions separated by 30 minutes of inactivity, not unique people. Consent, blockers, multiple devices and bots affect counts. Page views count observed page loads; browser-back restores and single-page-app navigation may not produce another observation. Traffic expires after 90 days, and the table shows the top 100 source combinations.

Enquiries are saved submissions, including repeats and spam-flagged submissions, excluding demo contacts. Qualified records progression into meeting, quoted, booked or completed status. Booked is a recorded booking milestone; payment alone is not a booking. Keep contact outcomes accurate. A new enquiry with an unknown source does not inherit an older campaign’s credit.

Traffic uses the source at the start of the tab session; enquiry attribution may retain the latest meaningful source for up to 90 days. These are separate populations. Do not divide all enquiries by observed visits and call it a conversion rate. For the separate contact-based booking rate and receipts, see Analytics.

  1. Check coverage. Review unknown sources and missing visits first. Missing tracking is not proof that a channel failed.
  2. Read the enquiries. Were you available? Did the service, location and expectations fit? Update the recorded outcome rather than judging enquiry quality from a count.
  3. Choose one investigation. Visits without attributed enquiries: check the mobile landing page, campaign link and form. Enquiries without bookings: review the conversations, availability and follow-up. Recorded bookings: inspect the specific campaign and customer journey before repeating it.
  4. Change one thing. For example, send a directory link to the relevant service page or clarify the next step beside the form. Record the date and leave other variables steady where practical.
  5. Review a comparable period. Allow open enquiries time to resolve and account for seasonality. Keep a monthly note because traffic reports roll over after 90 days. Bring your own advertising costs; the report does not measure spend, profit or return on investment.

Small samples and recent enquiries do not justify declaring a winner. Use the report to choose a sensible next check, not to promise more bookings.

  • No visits: check the exact saved website origin, script installation, consent and blockers. No observation does not mean no visitors.
  • Unknown source: check that the published link includes the labels and that redirects and forms retain them. Calls, untagged links and stripped referrers may remain unknown.
  • Empty feed: check for a real qualified/booked event in the last 90 days and an eligible click identifier or enabled matching data. Downloads alone do not create outcomes.
  • Duplicate Google leads: check existing tag triggers and imported Analytics conversions before adding another destination.
  • Feed error or rejected import: check credentials and Google diagnostics. More than 10,000 candidate rows requires support; the feed fails rather than silently omitting rows.

For help, send your website URL and describe the step that failed. Do not send feed passwords, intake keys or customer details in screenshots.