Download Markdown · Print this page to save a PDF.
SOP — launch a shop landing page for Meta ads
Purpose and owner
Use this process when a client chooses a website landing page instead of a Meta instant lead form. The account manager owns approved offer details and proof. The page operator owns studio setup. The CRM operator owns GHL routing and follow-up. The ads operator owns dataset access, conversion selection, ads, and verification. One person may fill all roles.
No client domain access is required. Use https://offers.baylinegrowth.com/SHOP/OFFER. The studio stays at /studio.
Phase 1 — collect approved inputs
- Confirm the exact legal/business name, city, service area, phone, address, hours, brand colours, logo, and approved shop photos.
- Confirm the package name, price/currency, tax treatment, exact preparation/correction scope, coating duration, coated surfaces, extras, warranty provider/conditions, size adjustments, exclusions, turnaround, and aftercare.
- Confirm the CTA, what happens after an enquiry, and a realistic response expectation.
- Collect source links and approved review excerpts. Verify the rating/count before launch. Do not import another shop’s reviews.
- Confirm any deadline or appointment cap and who will keep it current. An initial cap is not a live remaining-spots counter.
- Obtain the shop’s approved privacy and terms URLs, contact-consent wording, and permission to use supplied photos.
- Confirm the correct GHL sub-account, form, workflow, pipeline, lead owner, and notification recipients.
- Confirm the intended pixel/dataset, owning business portfolio, client ad account access, and shop-specific conversion approach.
Output: a completed client brief, approved offer/proof, and identified GHL/Meta assets.
Phase 2 — build the page
- Sign in to https://offers.baylinegrowth.com/studio.
- Click + New shop for a new client, or + New offer for an existing shop.
- Enter the shop name, shop address, and offer address. Use a stable address such as luxotic-customs/ceramic-coating.
- Start with the generic master or an approved reusable template.
- Set the six colours and upload the logo and real shop work.
- Complete every copy group and replace curly-bracket placeholders. Review repeated prices, tax terms, duration, warranty, and claims for consistency.
- Hide sections without approved proof or applicable bonuses/warranty; do not invent content to fill them.
- Check mobile first, then desktop. Verify readable colours, hero crop, usable CTA, phone, and long-text wrapping.
- Save the draft. Generate a seven-day read-only preview for client review.
- Apply requested refinements inside the builder and save again. Record final client approval in your account-management system.
Output: an approved saved draft at a stable future public address.
Phase 3 — connect GHL
- Open the correct client sub-account and create a dedicated or clearly identified form for this offer.
- Keep required fields aligned with the sales process. Include vehicle information and approved contact consent.
- Add hidden fields for the UTMs and shop/offer identifiers you want to report on. Confirm the supported prefill keys in the current GHL form setup.
- Route submitted leads to the intended owner, pipeline/stage, tags, and workflow. Filter automation by the actual selected form rather than a generic “any form” trigger.
- Copy the complete iframe/script embed to Studio → Form & tracking.
- Set GHL’s successful-submission redirect to the exact studio confirmation address. It must navigate the whole page.
- Save in GHL and in the studio. Verify saved state in both systems.
Output: the correct shop receives and follows up on form submissions.
Phase 4 — configure Meta measurement
- Set the numeric master pixel ID under Agency settings if not already present.
- Confirm the dataset is owned and shared as intended, and the client ad account can select it.
- Complete Meta domain verification where requested. Use the exact token/record Meta supplies. Do not modify unrelated DNS records.
- Enable tracking for this offer; leave override blank for the shared master.
- Keep the studio’s marketing-cookie prompt enabled unless another approved implementation is in place.
- Select one Lead event source. Recommended first setup: Studio confirmation page; remove duplicate Lead firing from GHL. For GHL-managed server/browser conversion tracking, select GoHighLevel only.
- For studio-owned Lead events, create the client’s custom conversion using Lead plus a URL rule for /SHOP/OFFER/thank-you. For GHL/CAPI-owned events, inspect the actual event_source_url/parameters and use a rule that matches those events. Confirm the conversion is available to the client ad account.
- Use a client-specific dataset if the shared dataset cannot support the required account access, reporting, or optimization setup. Do not claim pooled pixel events guarantee pooled campaign learning.
- If adding CAPI, configure it in GHL or a separate server integration, verify accepted events, and test deduplication. Do not paste access tokens into the public page or form embed.
Output: the correct ad account can measure and optimize for this shop’s leads.
Phase 5 — prelaunch QA
- Save the draft and open Launch → Open working test page while signed in.
- Temporarily redirect GHL success to /test/SHOP/OFFER/thank-you?submitted=1 on the offers domain.
- Open Meta Test Events with the same signed-in browser and follow the test journey.
- Use an approved internal test contact. Verify the right CRM contact, vehicle details, UTMs, shop/offer identifiers, opportunity, owner, and workflow enrollment.
- Confirm intended notifications and follow-up reach their controlled test recipients and use the right sender identity. Do not treat a workflow canvas label as proof of execution.
- Confirm the full-page thank-you redirect, one PageView per page as expected, and one Lead for the successful journey. Refresh the thank-you page and verify no duplicate Lead.
- Open the thank-you URL in a fresh session: no new Lead should be sent by the studio without a preceding matching visit.
- Decline marketing cookies: the page/form remain usable and the studio does not load Meta tracking.
- Restore the exact final public GHL redirect shown in the builder. Label/remove test records according to the CRM process.
- Complete the studio’s launch confirmations only after observing the results. Resolve any remaining launch issues.
Output: an approved, tested saved draft with final redirect settings restored.
Phase 6 — publish and prepare the campaign
- Click Publish this offer in the studio and confirm the selected offer.
- Wait up to 60 seconds and check the live URL in a signed-out browser on mobile and desktop.
- Repeat the final live form/CRM/Meta journey with your approved test contact before spending.
- Build/copy the UTM URL under Form & tracking → Ad URL builder.
- In the correct Meta ad account, create or duplicate the intended campaign as a draft. Choose the Leads objective and Website conversion location when available in the current interface.
- Choose the correct dataset and verified shop-specific conversion event. Resolve missing asset access before launching.
- Set the agreed geography, audience, budget, schedule, ads, and destination URL. Match ad claims and prices to the landing page. Website placement/optimization labels may vary with Meta’s current interface.
- Preview the actual ad destination on mobile, including the complete URL and UTMs.
- Obtain campaign/budget authorization according to the client’s agreement, then publish the ads. Page-publication authorization is not automatically an approved ad budget.
Output: verified live destination and an appropriately authorized website-lead campaign.
Phase 7 — monitor and maintain
- Check actual new GHL submissions and matched Meta reporting after launch. Investigate discrepancies rather than assuming every pixel event is a CRM lead.
- Track appointments, paid deposits, completed jobs, and collected revenue as separate states. Page leads are enquiries, not bookings or payments.
- Compare creative using matched CRM outcomes and meaningful sample sizes. For paid outcomes, CAC = CPL / paid-close-rate.
- Keep deadlines, appointment caps, prices, reviews, and contact details current. Pause ads when an offer ends or capacity is filled.
- Refine page copy/layout inside the studio; save a draft, review, test affected integrations, then republish at the same URL.
- If a published edit causes a problem, restore the previous live version. Pause affected ads if leads cannot be captured correctly.
- Back up studio settings after major launches. Keep the private Blob store and Vercel account accessible to the agency.
Launch record to copy into the client task
- Client / shop address:
- Offer / live URL:
- Package / price / currency / tax:
- Approved offer/proof date:
- GHL account / form / workflow / owner:
- Final success redirect:
- Dataset / client ad account / conversion:
- Lead event source / consent implementation:
- Test contact identifier (keep private in CRM):
- CRM / routing / attribution test result:
- Meta Test Events / duplicate check result:
- Mobile / desktop live result:
- Published version/date:
- Ad authorization / budget / launch date:
- Capacity/deadline owner:
- Next review date:
Official references
- HighLevel: https://help.gohighlevel.com/support/solutions/articles/155000001314 — form logic and redirect configuration.
- HighLevel: https://help.gohighlevel.com/support/solutions/articles/48001219997-understanding-attribution-traffic-sources — attribution behavior.
- HighLevel: https://help.gohighlevel.com/support/solutions/articles/48001185099 — workflow Facebook Conversions API events.
- Meta: https://developers.facebook.com/docs/meta-pixel/implementation/conversion-tracking/ — pixel conversion tracking.
- Meta: https://developers.facebook.com/docs/marketing-api/conversions-api/deduplicate-pixel-and-server-events/ — browser/server deduplication.
- Vercel: https://vercel.com/docs/vercel-blob/using-blob-sdk — private storage and conditional writes.