Offline Conversion Import vs Server-Side Tagging
In short: Both handle data that a simple on-page pixel can't, but on different timescales entirely. Offline conversion import is a scheduled batch upload of conversion records - click ID or hashed identity, time, value - pulled from your CRM or a file, run whenever you choose. Server-side tagging is a continuous, real-time transport layer that carries every event to every vendor through a container you control. A server container can capture and durably store the click identifier at the original visit, but it never uploads anything back to an ad platform - the OCI step still has to run. Pick OCI for conversions that happen off-site and later; pick server-side tagging for durability and control across everything that happens live.
By the AdFlint research team · Fact-checked against current Google and Meta platform behavior · Last reviewed July 2026
Offline Conversion Import
Uploads conversions that happened outside the website, such as a signed contract or a phone sale, back to the ad platform.
You store the click identifier, gclid for Google or the lead's hashed details, capture the outcome in your CRM, then upload conversion time and value so bidding learns which clicks produced revenue. It is essential for anything with a sales cycle. Uploads fail most often on window and timezone problems: a conversion recorded after the click-through window closes, or timestamps submitted in the wrong account timezone, is discarded.
Full definitionServer-Side Tagging
Runs a tagging container on infrastructure you control, so the browser sends one request and your server forwards data to vendors.
The page posts to a first-party endpoint on your own subdomain; a server container then enriches, filters, and fans the event out to Google Ads, GA4, or Meta. Teams adopt it to set durable first-party cookies, cut client-side script weight, and keep vendor payloads under review. Two misconceptions persist: it does not manufacture data the browser never sent, and it does not exempt you from consent requirements.
Full definitionSide by side.
The differences that actually change what happens in your account.
| Offline Conversion Import | Server-Side Tagging | |
|---|---|---|
| What it moves | A batch of conversion records - click ID or hashed identity, time, value - from your CRM or a file. | Every tag's live request, of any type, routed through a container you control. |
| When it runs | On your own schedule - manual, daily, or via API - independent of any page load. | Continuously, in real time, as visits and events happen. |
| What it needs to work | A stored click identifier or hashed identity plus accurate conversion time and value. | A provisioned, maintained cloud container with correctly configured forwarding rules. |
| Relationship between them | Can be fed by identifiers a server container captured and stored at the original visit. | Does not import anything back to an ad platform by itself - the OCI upload step still has to run. |
| Failure mode | Rows rejected for window or timezone mismatches, visible in the upload's status. | A broken forwarding rule or outage silently drops every vendor's data at once. |
| Where it reports | An Uploads status table inside the conversion action showing accepted and rejected rows. | No report of its own - verified through server logs or the network tab. |
| Scope | Ads or Meta specific, and only affects conversion data. | Vendor-agnostic - carries GA4, Ads, Meta, and anything else at once. |
What actually separates them.
OCI is a scheduled, batch upload of conversion records; server-side tagging is a continuous, real-time pipe for every event type, not just conversions.
Server-side tagging can be the thing that captures and durably stores the click identifier at the original visit, but it doesn't upload anything back to an ad platform - that step is separate and required.
OCI's failures are data-quality problems visible as rejected rows, window or timezone; server-side tagging's failures are infrastructure problems that can silently drop everything behind the container.
OCI only ever affects conversion data on the platform you upload to; server-side tagging affects every event type for every vendor routed through it.
OCI needs no ongoing infrastructure beyond a place to store identifiers and a schedule to upload them; server-side tagging is an infrastructure commitment you provision and maintain continuously.
Which one should you use?
Use Offline Conversion Import when
- Your conversions happen off the website entirely - a phone call, an in-store visit, a signed contract.
- You already store the click identifier or hashed lead details from the original visit.
- You need bidding to learn from confirmed revenue, not just clicks or form fills.
- Your sales cycle has a real delay between click and outcome.
Use Server-Side Tagging when
- You want durable first-party cookies for every visitor, regardless of whether they ever convert offline.
- You're running many vendor tags and want one point of control over what leaves your infrastructure.
- You're losing meaningful data to ad blockers or slow client-side scripts.
- You want to filter or enrich event data before any vendor sees it.
Common questions.
Can server-side tagging upload my offline conversions for me?
No. Server-side tagging is a live transport layer for events as they happen; offline conversion import is a separate, scheduled batch process through the UI, Sheets, Zapier, or the API that runs independently. Server-side tagging can help you capture and store the click identifier OCI needs, but the upload itself is a distinct step.
Do I need server-side tagging to run offline conversion import?
No. OCI just needs a stored click identifier or hashed identity plus the conversion's time and value - you can capture that with a simple client-side script or URL parameter. Server-side tagging is a separate decision usually driven by cookie durability or vendor count, not a prerequisite for OCI.
My offline conversion uploads keep getting rejected. Is that a server-side tagging problem?
Almost never. Rejected rows are typically window or timezone issues - the conversion happened after the click-through window closed, or the timestamp used the wrong account timezone. Check the upload's row-level status before suspecting anything about your tagging infrastructure.
Or stop choosing between them.
AdFlint picks the setting, writes the ads, and keeps optimizing inside the Google and Meta accounts you already own.
Related comparisons
- Conversions API vs Meta Pixel
- Google Tag vs Meta Pixel
- Google Tag Manager vs Meta Pixel
- Meta Pixel vs Server-Side Tagging
- Enhanced Conversions for Leads vs Meta Pixel
- GA4 Conversion Tracking vs Meta Pixel
- Conversions API vs Google Tag Manager
- Conversions API vs Server-Side Tagging