CowlendarOpen Cowlendar

๐Ÿ“Š How to Set Up Tracking Pixels in Cowlendar

Track your booking funnel with Meta Pixel and Google Tag / GA4. Set up server-side tracking to bypass ad-blockers and iOS ATT, measure ROAS, and build remarketing audiences.

Updated October 14, 2026

Cowlendar now supports Meta Pixel (Facebook & Instagram) and Google Tag / GA4 tracking directly from your booking widget. This means you can track your booking funnel, build remarketing audiences, and measure ad performance without installing any extra code on your store.

This feature also supports server-side tracking (Conversions API for Meta, Measurement Protocol for Google), which means your events can bypass ad-blockers and iOS App Tracking Transparency (ATT) restrictions that would otherwise prevent tracking.

This is a Beta feature. It's fully functional but we're still polishing a few things. If you run into any issues, reach out to us in live chat and we'll sort it out!


Why should I set this up?

If you're running Facebook or Google ads to drive bookings, you need tracking pixels to:

  • Measure your return on ad spend (ROAS) โ€” know exactly which ads are generating bookings, not just clicks.
  • Build remarketing audiences โ€” retarget people who opened your booking widget but didn't complete the booking.
  • Optimize ad delivery โ€” platforms like Meta and Google use conversion data to find more people likely to book.

Without server-side tracking, a large share of your events will be lost due to ad-blockers and iOS privacy features. That's why we strongly recommend setting up the Conversions API / Measurement Protocol tokens alongside your pixel.


How to get there

  1. In your Shopify admin dashboard, look at the left panel and click on Apps.
  2. Click on Cowlendar.
  3. Click on Settings in the left sidebar.
  4. Click on Tracking pixels.

You'll see two cards: Meta Pixel (Facebook & Instagram) and Google Tag / GA4. Both are inactive by default. Set up one or both depending on where you run ads.


Setting up Meta Pixel (Facebook & Instagram)

Step 1: Toggle it on

Click the toggle on the right side of the Meta Pixel card to activate it.

Step 2: Enter your Pixel ID

Paste your Meta Pixel ID (a numeric ID, e.g. 123456789012345).

Not sure where to find it? Check this guide from Meta: Where to find my Pixel ID

Step 3: Add your Conversions API access token (strongly recommended)

Paste your CAPI access token to enable server-side tracking. When set, booking confirmations, cancellations, and reschedules are sent directly from Cowlendar's servers to Meta, bypassing ad-blockers and iOS ATT entirely. The browser pixel automatically stops firing those events to avoid double-counting.

Image

Not sure how to get one? Follow Meta's guide: How to generate a CAPI access token

โš ๏ธ Without a Conversions API access token, your events will likely be tracked only partially or not at all. Ad-blockers and iOS privacy features block a large share of browser-side events.

Step 4: Set a Test event code (optional)

If you want to verify that events are being received correctly, enter a Test event code (e.g. TEST12345). This routes events to the Test Events tab in Meta Events Manager instead of your production audiences.

Once you've confirmed everything is working, remove the test event code so events go to production.

Step 5: Save

Click Save at the bottom of the page. You're all set!


Setting up Google Tag / GA4

Step 1: Toggle it on

Click the toggle on the right side of the Google Tag / GA4 card to activate it.

Step 2: Enter your Measurement ID

Paste your Measurement ID. This is the ID that starts with G- for GA4, AW- for Google Ads, or GT- for server-side Tag Manager.

Not sure where to find it? Check this guide from Google: Where to find my Measurement ID

Step 3: Add your Measurement Protocol API secret (strongly recommended)

Paste your MP API secret to enable server-side tracking. When set, booking confirmations, cancellations, and reschedules are sent directly from Cowlendar's servers to GA4. Browser fires of those events are automatically suppressed to avoid duplicates.

Image

Not sure how to get one? Follow Google's guide: How to generate an API secret

โš ๏ธ Without a Measurement Protocol API secret, your events will likely be tracked only partially or not at all. Ad-blockers and iOS privacy features block a large share of browser-side events.

Step 4: Save

Click Save at the bottom of the page. Done!


Events that Cowlendar tracks

Both Meta Pixel and Google Tag track the same booking funnel events, mapped to each platform's event naming conventions:

Booking funnel step Meta Pixel event Google Tag / GA4 event
Widget opened ViewContent (standard) view_item (standard)
Date / time slot selected BookingSlotSelected (custom) select_item (standard)
Booking form displayed InitiateCheckout (standard) begin_checkout (standard)
Added to cart AddToCart (standard) add_to_cart (standard)
Booking confirmed Purchase + Schedule (standard) purchase (standard)
Booking rescheduled BookingRescheduled (custom) booking_rescheduled (custom)
Booking cancelled BookingCancelled (custom) booking_cancelled (custom)

All events are enabled by default. You can toggle individual events on or off depending on what you need.

A few things to note:

  • Widget opened fires when a customer opens the Cowlendar booking calendar on your product page. This is great for measuring how many people start the booking process.
  • Booking confirmed fires the Purchase event, which is what Meta and Google use to calculate ROAS. On Meta, it also fires a Schedule event for building audience segments of people who've booked.
  • Custom events (like BookingSlotSelected, BookingRescheduled, BookingCancelled) are specific to Cowlendar. You can use them to build custom audiences or set up custom conversions in your ad platform.

Browser-side vs. Server-side: how it works

Browser-side only (no API token) With server-side token
Widget opened โœ… Tracked via browser โœ… Tracked via browser
Date / time slot selected โœ… Tracked via browser โœ… Tracked via browser
Booking form displayed โœ… Tracked via browser โœ… Tracked via browser
Added to cart โœ… Tracked via browser โœ… Tracked via browser
Booking confirmed โš ๏ธ Browser only (blockable) โœ… Sent server-side, browser suppressed
Booking rescheduled โš ๏ธ Browser only (blockable) โœ… Sent server-side, browser suppressed
Booking cancelled โš ๏ธ Browser only (blockable) โœ… Sent server-side, browser suppressed

When you configure the server-side token (CAPI for Meta, MP API secret for Google), the most important conversion events are sent directly from Cowlendar's servers. This means they'll be tracked even if the customer is using an ad-blocker, a privacy-focused browser, or has opted out via iOS ATT.

The browser pixel is automatically suppressed for those events to avoid double-counting. You don't need to configure anything extra for deduplication.

Bonus: Server-side tracking also captures conversions from POS bookings and manual bookings created by your team in the Cowlendar admin, which would never be captured by browser-side tracking alone.


How to verify it's working

For Meta Pixel

  1. Go to Meta Events Manager.
  2. Select your Pixel.
  3. If you set a Test event code, click the Test events tab to see incoming events in real-time.
  4. Open your store in a new browser tab and go through the booking flow (open the widget, select a date, fill in the form, add to cart).
  5. You should see ViewContent, BookingSlotSelected, InitiateCheckout, and AddToCart events appear.
  6. Complete the booking to see the Purchase and Schedule events.
  7. Once you've confirmed everything works, remove the test event code from Cowlendar settings so events go to production.

For Google Tag / GA4

  1. Go to Google Analytics.
  2. Navigate to Admin > DebugView (or Reports > Realtime).
  3. Open your store and go through the booking flow.
  4. You should see view_item, select_item, begin_checkout, add_to_cart, and purchase events appear.

FAQ

Do I need both Meta Pixel and Google Tag?

No! Set up whichever platform(s) you use for advertising. If you run ads on both Facebook/Instagram and Google, set up both. If you only run ads on one platform, just set up that one.

Will this slow down my store?

No. The tracking pixels are loaded asynchronously and don't affect page load speed or the booking experience.

I already have a Meta Pixel / Google Tag installed on my Shopify store. Will this conflict?

No. Cowlendar's tracking pixels fire specifically for booking-related events. They won't interfere with your existing store-wide pixel. However, make sure you're not double-tracking booking events through another app or custom code.

Can I track bookings in Google Ads (not just GA4)?

Yes! Use your Google Ads conversion tracking ID (starts with AW-) as the Measurement ID. This will send events directly to Google Ads for conversion optimization.

Do server-side events count toward my Meta CAPI or Google MP quotas?

The volume from booking events is typically very low compared to platform limits, so this shouldn't be a concern for the vast majority of stores.

I set everything up but I don't see events in my ad platform. What should I do?

A few things to check:

  • Make sure the toggle is ON (active) for the tracking pixel.
  • Double-check your Pixel ID / Measurement ID for typos.
  • If you're using a test event code on Meta, check the Test events tab, not the main overview.
  • Try opening your store in an incognito/private browsing window (your own browser might have an ad-blocker that blocks the events).
  • If you've set up the server-side token, confirm that the token is valid and hasn't expired.

Still stuck? Reach out to us in live chat and we'll help you debug it!


If you have any questions about setting up tracking pixels or need help verifying your configuration, don't hesitate to reach out through our in-app chat. We're here to help! ๐Ÿฎ

Did this answer your question?