Skip to content
Insy
Help center
Esc
navigateopen⌘Jpreview
On this page

Google Analytics and Meta Pixel

How to connect your own GA4 property and Meta pixel to a community or product, exactly which events Insy forwards, and why cookie consent decides whether anything arrives.

Insy can forward a small set of events about your community or product page to your own Google Analytics 4 property and your own Meta pixel. Both integrations are server-to-server: your Measurement ID and Pixel ID are never injected into any page. GA4 is reached through the Measurement Protocol, Meta through the Conversions API, both from Insy’s background worker.

Read the event table before you connect anything. Four internal events are forwarded, they carry a deliberately thin payload, and a visitor who never accepted Insy’s cookie banner produces nothing at all. This page does not cover Insy’s own built-in stats — those are recorded either way and are unaffected by anything here.

Where to connect

Both cards live in the External analytics section of an Integrations page/managed/<slug>/integrations for a community, /products/<slug>/integrations for a digital product. Each card carries a status badge that reads Inactive until a connection exists and Active afterwards.

An integration belongs to one community or one product, not to your account. The same pixel on three communities means connecting it three times. Each resource holds at most one Google Analytics connection and one Meta connection; re-connecting overwrites the stored credentials in place.

Connecting

Open the dialog

Press Connect on the Google Analytics card. The dialog is titled Connect with Google Analytics and has exactly two fields — there is no property picker and no Google sign-in.

Measurement ID

The Measurement ID of the GA4 data stream you want the events to land in. Not the property number, not a Google Tag Manager container ID.

API Secret

A Measurement Protocol API secret created on that same data stream. It is not an OAuth client, a service-account key or a Google Cloud API key — the Measurement Protocol is the endpoint Insy calls, so only a secret issued for it works. The field is masked.

Save

Insy immediately posts one throwaway event named creds_validation to Google’s Measurement Protocol debug endpoint with both values, and refuses to store the pair if Google complains about measurement_id or api_secret. The rejection message you see is Google’s own text, prefixed with Invalid GA4 credentials:.

Open the dialog

Press Connect on the Meta Pixel card. The dialog is titled Connect with Meta Pixel and has exactly two fields — there is no Facebook login and no Business Manager step.

Pixel ID

The numeric ID of the pixel that should receive the events.

Access Token

A Conversions API access token generated for that pixel. Insy calls graph.facebook.com/v21.0/PIXEL_ID/events, so a token without Conversions API access to that exact pixel will be refused. The field is masked.

Save

Insy immediately posts a real PageView event to your pixel, tagged test_event_code: TEST00000, with client_user_agent: "validation-test" and client_ip_address: "0.0.0.0". If Meta refuses it, the credentials are not stored and you see Meta’s own error text prefixed with Invalid Meta Pixel credentials:.

What Insy forwards

This is the whole list. Anything not in this table is never sent to your GA4 or your pixel.

Insy event Google Analytics 4 Meta
view_community page_view PageView
view_product page_view PageView
checkout_initiated begin_checkout InitiateCheckout
checkout_success purchase Purchase
view_profile not forwarded not forwarded
explore_page_view not forwarded not forwarded

Both providers get the same four events under different names. There is no way to add, rename or filter events, and no way to send only purchases.

When each event fires

  • view_community — every load of the public community page, once the community data resolves. There is no owner exclusion, so your own visits are counted too.
  • view_product — on all three product page routes (the creator-scoped one, the short /p/ one, and a custom domain), once the product resolves. It is suppressed only for platform admins and for a creator previewing an unpublished product; visiting your own published product does count.
  • checkout_initiated — for a community, the browser fires it once: on the plan selector opening if the community has more than one plan, or on checkout opening if it has exactly one. The server fires it once more when the embedded checkout session is created. Expect two per buyer, not one.
  • checkout_success — the forwarded one is sent server-side, after the payment has been recorded. The thank-you page also fires a checkout_success, but that one carries no community or product ID, so it is dropped before it reaches you and only lands in Insy’s internal stats.

Repeat events with an identical payload are de-duplicated within a single page load, and reset on refresh.

What the payload actually contains

To GA4, one event with:

  • client_id, derived from the visitor’s _ga cookie;
  • community_id as a parameter;
  • page_referrer, utm_source and utm_medium when Insy knows them;
  • nothing else — no value, no currency, no items, no product ID.

To Meta, one event with:

  • event_name, event_time and action_source: "website";
  • user_data containing only fbp and fbc, read from the visitor’s _fbp and _fbc cookies — no hashed email, no IP address, no user agent;
  • custom_data with community_id, currency and value;
  • event_source_url set to the visitor’s referrer when there is one;
  • no event_id.

Server-side only — what a browser pixel would give you and this does not

There is no tag of yours running in the visitor’s browser. Everything is a server call from Insy’s worker, which means:

  • no automatic events — GA4’s engagement events and Meta’s automatic page/button events never happen, because your tag is never loaded;
  • no audience building or retargeting from your own pixel on Insy pages;
  • low Meta match qualityuser_data carries cookie identifiers only, with no hashed email;
  • no deduplication — no event_id is set, so if you also run a pixel elsewhere, Meta has no way to recognise an Insy event as the same conversion.

Delivery is fire-and-forget. The provider’s response is read and thrown away, nothing is retried, and a rejection from Google or Meta is recorded internally as a successful send. There is no delivery log and no error surfaced in Insy: sent never means accepted.

GA4 forwarding needs the visitor’s _ga cookie; Meta forwarding needs _fbp or _fbc. Those cookies are set by Insy’s own Google and Meta tags, which load only after a visitor presses Accept on Insy’s cookie banner. With no cookie, the event is written to Insy’s internal stats and the external hop is skipped silently.

For a purchase the cookies are frozen onto the checkout reservation when checkout starts, and replayed when the payment lands. If they were empty at checkout, they are still empty at payment.

The “Test analytics” button

Test analytics sits in the header of the External analytics section, above both cards. It is not a Meta-only button: one press fans the event out to every integration on that community or product, so a connected GA4 and a connected pixel are both hit.

The dialog has two inputs: an Event type choice of Page view or Checkout success, and an optional Test code, described as an optional code from Meta Events Manager to verify event delivery. That code is passed straight through as Meta’s test_event_code; GA4 ignores it.

  • Page view sends view_community for a community or view_product for a digital product, which arrive as page_view and PageView.
  • Checkout success sends checkout_success, which arrives as purchase and Purchase.

Known limits

  • There is no disconnect. Neither the interface nor the API can remove an integration. The card’s only button is Connect, which reopens the same dialog and overwrites the credentials. To stop the flow, revoke the API secret or access token on the provider’s side.
  • Credentials are stored unencrypted and are returned in full by the endpoint that lists a resource’s integrations, to anyone who can manage that community or product. Treat the GA4 API secret and the Meta access token as shared with every administrator of that resource.
  • These endpoints are not part of the public API. They are absent from the public OpenAPI spec and are not a supported integration surface.

When nothing shows up

The test event arrives, but real traffic never doesConsent

This is the expected outcome of the cookie rules above. The test invents the cookies; real visitors have to have accepted Insy’s banner on some earlier page, and the banner is never shown on community or product pages. Compare Insy’s own stats for the same period — if they show traffic and your GA4 does not, this is why.

GA4 purchases show zero revenuePayload

Expected. The GA4 payload carries no value, no currency and no items — only the event name and community_id. Revenue cannot be reported in GA4 through this integration.

Meta reports revenue 100 times too highPayload

Expected. value is sent in minor units without conversion, so 99.00 PLN is reported as 9900.

A product logs views and purchases but no checkoutsKnown gap

Expected. The digital-product checkout_initiated event carries no product ID and is dropped before forwarding. Community checkouts are unaffected.

The card still says Inactive after connectingCredentials

The credentials were rejected by Google or Meta during the save-time check, and nothing was stored — the success toast fires regardless. The provider’s message is in the red box that replaced the card; press Close on it, then correct the values and connect again.

Next

Was this page helpful?