Skip to Content
FeaturesAdvertising Conversion Export

Advertising Conversion Export

Export conversion data to ad platforms without third-party tracking pixels.

This feature is available on the Premium plan and above.

Overview

The Advertising Conversion Export feature lets you send conversion data from Ghost Metrics directly to your ad platforms. Instead of placing third-party tracking pixels on your site, Ghost Metrics matches ad click IDs to completed goals and generates export feeds that ad platforms can import.

This is especially valuable for healthcare organizations that need to measure advertising ROI while maintaining strict privacy controls. No third-party scripts are loaded on your site, and you control exactly what data leaves your analytics platform.

Supported platforms:

  • Google Ads — Automated import through a Google Ads Data manager HTTPS connection (recommended), or scheduled/manual upload using the legacy format
  • Microsoft Advertising — Offline conversion import via scheduled upload

Navigate to Administration → Websites → Conversion exports to access this feature.

How It Works

  1. Click ID capture — When a visitor arrives from an ad click, Ghost Metrics captures the click identifier (gclid for Google, msclkid for Microsoft) from the landing page URL.
  2. Goal matching — When that visitor completes a goal, Ghost Metrics associates the conversion with the original click ID — either from the same visit or, depending on the export’s attribution settings, from an earlier visit.
  3. CSV export — Ghost Metrics generates a CSV feed containing the matched conversion data (click ID, conversion name, timestamp, and optional revenue and currency).
  4. Platform import — The ad platform imports the feed and attributes the conversion back to the specific ad, campaign, and keyword that drove the click.

Because the data flows from your analytics platform to the ad network — rather than through a tracking pixel on your site — you maintain full control over what is shared. No third-party JavaScript runs on your pages.

Prerequisites

Enable Auto-Tagging in Your Ad Platform

Click IDs only appear in your landing page URLs if auto-tagging is on:

  • Google AdsSettings → Account settings → Auto-tagging must be enabled so gclid is appended to your ad URLs
  • Microsoft AdvertisingCampaigns → Settings → Account level optionsAdd Microsoft Click ID (MSCLKID) to URLs to allow conversion tracking. This is on by default; confirm it hasn’t been cleared

Also confirm your landing pages and any redirects preserve URL query parameters — a redirect that strips ?gclid=... breaks the matching.

When a visitor gives consent, the full click ID is stored. Without consent, only an anonymized click ID is stored — and anonymized IDs can’t be matched by the ad platform. You need a valid legal basis for processing click IDs; coordinate this with your consent banner setup.

You can verify click IDs are being captured in Visitors → Visits Log, where ad-click visits are marked with an icon, and via the Ad Provider and Ad Click ID segments.

Setting Up a Conversion Export

Step 1: Create the Export

Go to Administration → Websites → Conversion exports and click Create new conversion export. Configure:

  • Export type — Choose the format for your ad platform:
    • Google Ads HTTPS (recommended) — for the Google Ads Data manager HTTPS connection described below
    • Google Ads (Legacy) — the older Google Ads CSV format, for manual file uploads through Google’s Uploads screen
    • Microsoft Advertising
  • Only export visits with a Click ID — On by default: only conversions whose own visit contains a click ID are exported. Turn it off to also export conversions where the click ID was recorded in an earlier visit; two more settings then appear:
    • Days to look back — How many days to search backwards for an earlier visit with a click ID (for example, 30)
    • Click ID Attribution (multiple Click IDs) — When several click IDs are found: First Click ID, Last Click ID, or All Click IDs (exports the conversion once per click ID)
  • Number of days to export — Use 3 days if you plan to import daily, or 9 days for weekly imports. Overlapping ranges prevent missed conversions; ad platforms deduplicate. Today is always excluded.
  • Filter (optional) — Restrict the export to a specific visitor segment

Step 2: Map Your Goals

Under Conversions to export, pick each goal you want to send and set its Alias name in export. This alias is the conversion action name the ad platform will look for. Optionally choose the revenue to send with each conversion.

Critical: The alias must exactly match the conversion action name configured in your ad platform — capitalization, spacing, and punctuation included. A mismatch means the platform cannot attribute the conversion. (The alias does not need to match the goal’s name inside Ghost Metrics.)

Ghost Metrics GoalAlias name in export (must match ad platform)
Appointment Requestappointment_request
Contact Form Submitcontact_form_submit
Patient Portal Signuppatient_portal_signup

Step 3: Save and Copy the Export URL

Click Create New Conversion Export. Ghost Metrics generates a unique Export URL containing an access token. Copy this URL before leaving the page — the access token is displayed only once. If you lose it, open the export from Manage Conversion Exports and click Regenerate to issue a new URL and token; the old URL stops working, so update your ad platform with the new one.

The Manage Conversion Exports page also has a download icon for each export, for pulling the CSV and uploading it manually.

Google Ads imports offline conversions through Data manager. The recommended setup is a Data manager HTTPS connection that pulls the Ghost Metrics feed automatically on a schedule. A legacy scheduled-upload path and manual CSV upload are also covered below.

Prerequisites

Before Google Ads will accept imported conversion data, set the default consent for imported data:

  1. In Google Ads, go to Tools → Data manager and open the Consent settings tab
  2. Under Imported and uploaded data, choose Yes. Automatically mark this data as consented
  3. If your organization restricts which Google products may receive the data, use Select Google services to limit it; otherwise leave the default
  4. Save

The export feed must contain at least one data row before you connect it in Google Ads — connecting a feed with only headers produces the error “Invalid configuration: The data type or schema of the data source could not be determined.” If you have no conversions yet, wait until at least one has been captured.

Step 1: Create the Conversion Action

  1. In Google Ads, click Goals in the left navigation, then open Summary

  2. Under All your goals, click + Create conversion action

    The All your goals section in Google Ads with the Create conversion action button highlighted

  3. On the Get started step, under Choose data sources to measure conversions, tick Conversions offline. Google lists its data source as Connect data source later — leave that; you’ll connect the Ghost Metrics feed in Step 3. Click Save and continue

    Choose data sources screen with Conversions offline checked and Save and continue highlighted

  4. On Group your conversions, choose the category that best describes the goal — for example Submit lead form or Book appointment — then click Save and continue

    Category list with Submit lead form highlighted

  5. On Create and measure conversions, click + Create conversion. A row appears with the source Connect data source later and a default name such as offline (Upload). Optionally click Edit settings to adjust the Value, Count, and Attribution settings, then click Save and continue

    New conversion row with Create conversion, Edit settings, and Save and continue highlighted

  6. On the Summary step, click Finish. (The Set up in Data manager button here is another route to Step 3; this guide connects the feed from the Goals page instead.)

    Summary step with the Finish button highlighted

Step 2: Name the Action to Match Your Alias

Google names the new action offline (Upload). Rename it so it matches the alias in Ghost Metrics:

  1. Back on Goals → Summary, find the new action in its goal’s table and click its name

    Goal table with the new offline (Upload) conversion action highlighted

  2. Open the Settings tab, expand Conversion name, replace the value with exactly the Alias name in export from Ghost Metrics, and click Save

    Settings tab with the Conversion name field expanded and Save highlighted

The action’s status reads Awaiting conversions until the first import lands — Google notes it can take up to 48 hours to record conversions.

Google recommends waiting 4–6 hours after creating a new conversion action before the first import runs against it. Conversions imported earlier may take up to two days to appear.

Step 3: Connect the HTTPS Feed

  1. On Goals → Summary, click Set up import next to the renamed action

    Goal table with the Set up import link highlighted

  2. In Connect a product, select Connect a new product, choose the HTTPS tile, and click Continue. (Pick Use an existing connection instead if you’ve already connected this feed for another action.)

    Connect a product panel with Connect a new product and the HTTPS tile highlighted

  3. Connect a source — paste the Ghost Metrics Export URL with &requestType=https&conversion-export.csv appended, enter any values for Username and Password (Google requires the fields; Ghost Metrics doesn’t check them), and click Next

    Connect to HTTPS form with the URL, username, and password fields and Next highlighted

  4. Select data — Google shows the feed URL as the selected data. Leave Filter empty to import every row and click Next

    Select data step showing the feed URL as the selected data

  5. Map fields — Google matches the feed’s four columns automatically and marks each suggestion applied. Click Next through the six groups. Warning icons on unmapped rows mean optional, not error:

    • Event informationconversion_event_timeConversion date/time (required). Leave Transaction ID and Event source empty
    • Attribution detailsgclidGCLID
    • Measurement Enhancement — leave empty
    • Conversion valueconversion_valueConversion value, currency_codeCurrency code
    • Consent and User agent and session attributes — leave empty

    Map fields step with conversion_event_time mapped to Conversion date/time, optional rows, and Next highlighted

    Attribution details group with gclid mapped to GCLID

    Conversion value group with conversion_value and currency_code mapped

  6. Review — confirm 4 fields mapped, note the Update schedule (Google assigns a daily one-hour window), and click Finish

    Review connection setup with the update schedule and Finish highlighted

Both parts of the URL suffix matter. requestType=https tells Ghost Metrics to serve the HTTPS-import format, and Google requires the URL to end in .csv. Appending only &conversion-export.csv won’t work.

Google Ads now pulls the feed daily in the window shown at the review step. Imported conversions take about 3 hours to appear in reports, and Google discards conversions imported more than 90 days after the ad click.

Alternative: Legacy Scheduled Upload

Google still offers the older Uploads screen, though it labels the flow legacy and recommends Data manager:

  1. In Google Ads, go to Goals → Conversions → Uploads and open the Schedules tab
  2. Click + and choose HTTPS as the Source
  3. Paste your Export URL with &requestType=https&conversion-export.csv appended, and enter any username and password
  4. Set the Frequency and Time — daily is recommended, paired with a 3-day export window
  5. Click Save & preview, then OK

Results appear in the Uploads tab after each run.

Alternative: Manual CSV Upload

For a one-off backfill, or to verify your setup before scheduling:

  1. In Ghost Metrics, on Manage Conversion Exports, click the download icon next to a Google Ads (Legacy) export to download the CSV
  2. In Google Ads, go to Goals → Conversions → Uploads, click +, and choose Upload a file as the source
  3. Select the downloaded CSV, then click Preview to check it or Apply to import immediately

Microsoft Advertising Setup

Microsoft Advertising imports offline conversions from a file — either pulled on a schedule from a URL or uploaded manually. The recommended setup is a scheduled pull of the Ghost Metrics export URL.

Step 1: Create an Offline Conversion Goal

  1. In Microsoft Advertising, hover over Conversions in the left navigation and select Conversion goals
  2. Click Create conversion goal and choose the Offline conversions type
  3. In Goal name, enter exactly the Alias name in export you’ll configure in Ghost Metrics (it doesn’t need to match your Ghost Metrics goal name)
  4. Under Sharing, choose whether the goal applies to all accounts or this account only
  5. Under Revenue value, choose whether every conversion has the same value or the value may vary — pick may vary if you export revenue from Ghost Metrics
  6. Set the Count (choose Unique to count one conversion per click) and the Conversion window (up to 90 days), then click Save

Microsoft requires a 2-hour wait after creating a conversion goal before it accepts uploads for it. Conversions uploaded earlier may not be applied.

Step 2: Configure the Export in Ghost Metrics

  1. Create a conversion export, selecting Microsoft Advertising as the export type
  2. Map your goals with aliases that exactly match the Microsoft conversion goal names
  3. Copy the export URL

Step 3: Schedule the Upload

  1. In Microsoft Advertising, hover over Conversions and select Offline conversions, then open the Schedules tab
  2. Click + Schedule and choose HTTPS as the source type
  3. Paste your Ghost Metrics export URL into File URL. No suffix is needed, and credentials aren’t required — the URL already carries its access token
  4. Set the frequency (daily recommended, paired with a 3-day export window) and set the time zone to match your Ghost Metrics site’s timezone
  5. Click Save and preview

Microsoft Advertising pulls the feed on the configured schedule. After each run, use Download all results or Download errors only on the Schedules tab to check for rejected rows. Uploaded conversions can take up to 6 hours to appear in reports.

Alternative: Manual Upload

  1. In Ghost Metrics, on Manage Conversion Exports, click the download icon next to the Microsoft Advertising export to download the CSV
  2. In Microsoft Advertising, go to Conversions → Offline conversions and, on the Uploads tab, click + Upload
  3. Click Browse, select the CSV, then click Upload and preview
  4. Review the results, then click Apply changes

Best Practices

Enable Exports Before You Need Them

Click IDs are only stored once the feature is active and an export has been created — there’s no retroactive capture. Set up your conversion exports early so click ID data is ready when you need it.

Use Overlapping Date Ranges

Configure the export to include more days than your import frequency (3 days for daily imports, 9 for weekly). Ad platforms deduplicate conversions, so overlap is safe and prevents gaps.

Match Names Exactly

The alias in Ghost Metrics must be identical to the conversion action name in your ad platform. Even small differences in capitalization, spacing, or punctuation mean the conversions simply won’t be attributed.

Store Export URLs Securely

Export URLs contain access tokens that grant read access to your conversion data. Treat them like passwords: store them in a credential manager and don’t share them over unencrypted channels. If a URL may have been exposed, Regenerate its access token in Ghost Metrics and update the ad platform with the new URL.

Ghost Metrics manages analytics consent, but ad platforms have their own consent requirements (such as Google Consent Mode). Consent information is not passed along in the export — handle ad-platform consent independently.

Limitations

  • No retroactive exports — Click IDs are only captured after the feature is active and an export exists.
  • Today is excluded — Exports cover full days only, and days are defined in UTC (00:00:00–23:59:59 UTC). Depending on your timezone, a “day” in the export may not line up with your local calendar day; conversions appear in the feed once their UTC day has ended.
  • 90-day import window — Google Ads and Microsoft Advertising both discard conversions imported more than 90 days after the ad click. Keep Days to look back within that window.
  • Facebook/Meta and LinkedIn aren’t supported — their click IDs (fbclid, li_fat_id) are detected for reporting, but conversion export to those platforms isn’t available.
  • Click ID anonymization — If a visitor’s click ID was anonymized due to missing consent, it can’t be matched by the ad platform.

Troubleshooting

”Conversion with this timestamp and GCLID already exists”

This Google Ads message means the conversion was already imported in a previous upload — expected when using overlapping date ranges, and Google won’t double-count it. If the errors bother you, reduce the overlap so each export covers only days not previously imported.

”No conversion action with that name in the associated account”

The alias in Ghost Metrics doesn’t match any conversion action in Google Ads. Check that:

  • The conversion action exists in Google Ads
  • You renamed the action after creating it — Google assigns a generic name by default (see Step 2)
  • The name matches exactly (case-sensitive, no extra spaces)
  • The conversion action is in the correct Google Ads account

”Invalid configuration: The data type or schema of the data source could not be determined”

The feed has only headers and no data rows yet. Wait until at least one conversion has been captured before connecting the feed.

Imported Conversions Not Showing in Google Ads

Google takes about 3 hours to process imported conversions, and a newly created action shows Awaiting conversions for up to 48 hours. If the action was created less than 4–6 hours before the first import, conversions can take up to two days to appear. Also confirm the import results in Google Ads don’t list the rows as skipped or rejected.

Microsoft Advertising: Uploaded Conversions Not Counted

Check, in order:

  • The conversion goal was created at least 2 hours before the upload — earlier uploads may not be applied
  • The Conversion Name in the feed matches an existing offline conversion goal name exactly (case-sensitive)
  • The conversion time is after the click time and within the goal’s Conversion window
  • Fewer than 6 hours have passed — reporting lags the upload
  • Download errors only on the Schedules or Uploads tab shows no rejected rows

Exported Click IDs Show as “Anonymized”

Click IDs were anonymized because the visitor didn’t provide consent, or the export didn’t exist yet when the visitor arrived:

  • Create the export (and configure your goals) before the campaign traffic you want to measure
  • Review your consent flow to confirm full click IDs are stored for consenting visitors

Today’s Conversions Not Appearing in the Feed

Expected — exports cover completed UTC days only. If you’re ahead of UTC, wait until after 01:00–02:00 local time for the previous UTC day to be complete.

Next Steps

  • Goals — Set up the conversion goals that feed into your ad exports
  • Campaign Tracking — Add UTM parameters alongside auto-tagging so campaign reports are populated too
  • Funnels — Analyze the paths visitors take before converting
  • Session Recordings — Watch how ad traffic interacts with your site
Last updated on