SocialPilot With Causality Engine: From UTM Sets to Sales
By Joris van Huët
Enterprise Interim CMO & Marketing Leader · 15+ years · 50+ orgs
Published
2026-11-11
The short answer: an agency's quarterly SocialPilot report can show engagement climbing while the client's store sees no change in orders, and nothing in either system is broken. SocialPilot, the scheduling and reporting platform sold mainly to agencies, measures what the networks report, such as Facebook's Post Engagement, which counts likes, comments, shares and any type of click (metrics article). Its UTM sets are how the posts reach GA4, and a set is applied to every new post only when ticked as the default. Once GA4 holds tagged visits and purchases, Causality Engine reads the export and estimates what Organic Social caused, beginning with a free first finding at app.causalityengine.ai/start.
Disclosure: I founded Causality Engine and own it, and this page recommends it. Every claim about it links to Causality Engine's own pages.
Rule of thumb for the report a client will read:
- Separate the engagement from the visits. For example, 14,600 Post Engagement and 2,140 tagged sessions in a quarter means at most 2,140 / 14,600 = 14.7% of that engagement could have been a visit, and less, since a like is engagement too.
- Start from the UTM sets you already saved. Setup, UTM Parameters lists them (UTM article). Check which one is the default, and what its medium says.
- Add one store figure to the PDF. Organic Social purchases from GA4, on last click, beside the engagement total. It will look small. That is the point.
Where each fact stands
| Row | SocialPilot | Causality Engine |
|---|---|---|
| Identity | Social scheduling, client approval and analytics for agencies (entry) | A causal read of the store's GA4 export (entry) |
| Its headline numbers | Network metrics: Post Engagement, Profile Link Taps, Total Page Clicks (metrics article) | Caused share and last-click share per channel, a data-health score, a next step (how it works) |
| Tagging | Saved UTM sets, utm_source required, one can be the default (UTM article) | Reads the tags GA4 already holds |
| Shortening | Bitly, Rebrandly or Sniply; Pinterest always gets the full URL (shortener FAQ) | Not involved |
| GA4 channel | Organic Social, by social source or social medium (Google's rules) | Organic social is modelled with ads and email (one-off read) |
| Integration | None | None; it reads what GA4 recorded (integrations) |
| Cost of a check | Part of the plan | Free first finding; €99 for a full read, excluding VAT (pricing, checked on 11 November 2026) |
How SocialPilot's UTM sets behave
A UTM set is built once under Setup, UTM Parameters, Add UTM Parameters: a campaign name, then utm_source, which is mandatory and takes a predefined type or a custom value, then utm_medium, and up to five optional fields (UTM article). A checkbox makes the set the default, which applies it to posts from Create Post, Bulk Schedule and other scheduling methods. UTMs also work for RSS automation. In the new Create Post, the UTM icon appears only once a post contains a URL or a link preview, and a post can override the default.
The article is precise about the edges, and they matter for a GA4 read:
- Reshares lose their set. Resharing a published post does not carry its UTM forward. The default set is applied, and with no default, nothing is.
- Defaults are not retroactive. Changing the default affects future posts only. Live posts keep the tags they were published with.
- Shortening hides the tags in the preview. With URL shortening on, the preview does not show the UTMs, though they are still applied to the published link.
The shortener FAQ adds that the shortener toggle governs the whole post across every selected account, and that Pinterest posts always carry the full URL because Pinterest treats short links as spam.
What GA4 then needs is plain. Google files a visit as Organic Social when the source matches its list of social sites or the medium is social, social-network, social-media, sm, social network or social media (default channel group). A set with source facebook and medium social passes both tests. A set with the agency's name as source and "organic" as medium passes neither for Organic Social; the medium organic is Google's rule for Organic Search.
One more trap, for clients who boost posts. SocialPilot's Facebook report shows Organic and Boosted (Paid) metrics in separate blocks (metrics article). The link in a boosted post still carries the set it was published with, so a medium of social files those paid clicks as Organic Social. Use a separate set for posts meant to be boosted.
What a SocialPilot report adds up
The metrics article lists every figure, network by network. Those nearest the store: Facebook's Post Engagement; Instagram's Profile Link Taps, shown by the type of call to action tapped; LinkedIn's Total Page Clicks, which include clicks on company information and ads; and Google Business Profile's Visit your website action. The help centre read on 11 November 2026 describes no Google Analytics connection and no purchase or revenue metric. The UTM article says its sets show where traffic comes from and help measure campaign ROI; that measuring happens in whichever analytics tool reads the tags.
So SocialPilot never says it sold anything. It reports attention, carefully, and leaves the money to GA4.
A quarter for one client: worked example
For example, with every figure invented for the arithmetic and none taken from a real store: an agency runs a fashion client's social accounts through SocialPilot for a quarter. The client's store books 3,420 orders. SocialPilot reports 14,600 Post Engagement on Facebook and 730 Profile Link Taps on Instagram. GA4, with a default set of source facebook or instagram and medium social, shows 2,140 Organic Social sessions and 31 Organic Social purchases on last click. Meta Ads Manager claims 1,905 orders and Google Ads 1,630.
The paid claims alone come to 1,905 + 1,630 = 3,535, which is 3,535 - 3,420 = 115 more orders than were placed. Organic Social's 31 is about 31 / 3,420 = 0.9% of orders on last click, and Direct holds 602.
Those 31 orders are under the 1% line, and Causality Engine's how-it-works page says a channel under 1% of credit on both methods is called too small to act on. What its read sets beside the 31 is Organic Social's share once Direct's 602 orders are split back to the channels that sent those buyers, with a data-health score from 0 to 100. If social stays under 1% on both, the read says so and gives no verdict, and the agency's case for social rests on what SocialPilot measures: attention. If it rises well above 1%, test with the switchback below before the client's budget moves.
A free switchback, by hand
SocialPilot documents no holdout, so this test is by hand. Alternate weeks: in A weeks, posts carry store links with the default set; in B weeks, the same calendar runs with no store links at all. Schedule both from the calendar as usual. Compare GA4's Organic Social sessions and the store's daily orders across six weeks.
For example, if A weeks average 38 orders a day and B weeks 37, links in posts are worth about 38 - 37 = 1 order a day, with the caveat that a sale or an ad push in one week ruins the comparison. Keep paid spend flat while it runs. It costs only a calendar, and for many clients it settles the argument.
The read across every channel at once starts on the start page, where the first finding from the GA4 export is free and runs in the browser. Causality Engine, which I founded, sells the full read for €99, once, with a 30-day refund (pricing, checked on 11 November 2026).
Limits on both sides
- The read is per channel. It cannot rank SocialPilot posts, accounts or UTM sets. That stays with SocialPilot's post tables and GA4's campaign dimension.
- It needs history. 12 months or more of GA4 data, and a store whose purchases GA4 records (how it works). Where spend is too small for a signal, the homepage says it declines.
- SocialPilot does what the read cannot: approvals, scheduling, the inbox and the client's own view of reach and engagement.
Post Engagement adds every like, comment, share and tap into one rising figure, and a scheduler bought by agencies to produce client reports renews more easily when the figure in that report rises. The store's order count was never part of that figure, and SocialPilot's pages do not pretend it was.
See also
- SocialPilot: plans, client roles and reported complaints
- How to use SocialPilot: onboarding an agency client from invite to report
- SocialPilot on the marketplace: SocialPilot's affiliate program terms
- Causality Engine: the product, prices and declines
- How to use Causality Engine: one GA4 file to a regional test
- Causality Engine on the marketplace: the program, as the owner states it
- SocialPilot vs Buffer: account pricing against channel pricing
- How to fix last-click attribution in GA4: what the default model leaves out
FAQ
Can SocialPilot send data to Causality Engine?
There is no connection to set up, and none is needed. Causality Engine takes a CSV exported from GA4; SocialPilot's posts appear in it as Organic Social sessions when their UTM set gives GA4 a social source or medium (integrations page).
Do reshared posts keep their UTM tags?
No. The UTM article says a reshare gets the default set, or no tags if there is no default.
Why does the client's GA4 show fewer social visits than SocialPilot shows engagement?
Because engagement includes likes, comments and shares, which send nobody to the site. Only a click that loads the store page, with its tag, becomes a GA4 session.
ABOUT THE AUTHOR
I am Joris van Huët, an enterprise interim CMO. 15+ years, 50+ organizations, including ING, P&G, Nestlé, BNP Paribas, WeTransfer and Vinted. I take on innovation projects (venture building, design sprints), agentic marketing (setting up and running AI agents) and hands-on multi-channel work. See the track record.
I wrote and published this with AI assistance, and I answer for it. Claims about my own experience are limited to the track record above, and a statistic links to its source or is labelled as an example. I sell interim and fractional CMO work, which is why this site exists. How this site is written.
The agents in this article, built into your workflows and handed over to your team: the first one within two weeks.
With Joris van Huët, interim and fractional CMO in Utrecht. From EUR 5,000 a month, monthly cycles, a 30-day exit.