PixelYourSite Conversion Exporter is a plugin designed to streamline the process of exporting conversion data from the PixelYourSite plugin in WordPress, making it invaluable for businesses focused on precise data analysis. This solution enables users to gather essential insights into website conversions, providing a seamless way to enhance performance tracking and decision-making processes.

Plugin Version: 1.0.7.4
 
WordPress plugin PixelYourSite Conversion Exporter

Plugin Features

This tool effectively taps into the rich conversion data produced by PixelYourSite, easing the complexity associated with extracting and analyzing such information. By using this proficient exporter, WordPress site owners can effortlessly export conversion metrics, furnishing them with crucial datasets for further examination and optimization. The synergy of streamlined data exportation allows for the extended use of conversion analytics beyond the confines of WordPress interfaces, integrating this information with external systems or tools users may prefer for subsequent analysis.

Tailored for flexibility and efficiency, the exporter facilitates engaging with conversion data at a granular level. It ensures compatibility with diverse data handling preferences, offering customizable export options that align with varying analytical requirements. Whether you need CSV files for your data analytics software or want to integrate it into a more extensive marketing dashboard, PixelYourSite Conversion Exporter provides the functionality to support such needs. Consequently, users can enhance their strategic approaches through data-driven insights tailored to the specific demands of their operational workflows.

Moreover, the emphasis on user-oriented design is paramount in the implementation of this tool. It caters to both technical experts and those with less experience in data manipulation, boasting an intuitive interface that reduces technical barriers. Its usability reflects a keen understanding of the typical challenges faced by web administrators, ensuring that even novice users can harness the power of conversion data for optimized site performance and marketing strategies.

The strategic advantage this tool offers lies in its capacity to fuse ease-of-use with high-level functionality. In the rapidly evolving landscape of digital marketing, possessing agile, actionable insights into conversion metrics can significantly influence a campaigns success. This exporters integration capacity makes it a crucial asset for businesses intent on leveraging their digital footprint, enhancing both the breadth and depth of their analytical capabilities in a competitive market environment.

Specifications:

Release date: 20-01-2017
Last updated: 02-07-2026
Type: Paid
License: GPL 
Subject: Marketing & SEO
Compatibility: W5.x W6.x
Includes: Plugin
Language packs: English
Developer: Pixel Your Site

Rating:
4.4339622641509 1 1 1 1 1 (53 Votes)

Download by subscription!

You need to log in on the site and purchase a club subscription!

Share with your friends!

 

A Setup Guide to PixelYourSite Conversion Exporter for Google Ads and WooCommerce

PixelYourSite Conversion Exporter is not meant to replace your site's standard analytics. Its job is to deliver real WooCommerce orders and form submissions to Google Ads more reliably through conversion imports. In this guide, we'll walk through a lower-risk setup approach: what to check before installation, which tasks to create, how to choose the right data source, how to avoid duplicate purchases, how to verify the outcome, and what to do if the import does not match your expectations.

PixelYourSite Conversion Exporter showing the path from a WooCommerce order to a Google Ads import
The core plugin logic: an event on the site is turned into a protected file that Google Ads pulls in as a conversion source.

This article is for store owners, marketers, and developers who already understand the value of Google Ads but run into gaps in browser-based tracking: blockers, cookie opt-outs, Safari limitations, offline payments, manual order edits, refunds, and forms where lead value appears later rather than at the moment of the click. We will not cover buying the product or obtaining a license. The focus here is practical use of the plugin after it has been installed.

The key idea is this: Conversion Exporter works best as a server-side reconciliation layer, not as just another browser pixel. It takes data already stored in WordPress, WooCommerce, and your forms, prepares a CSV in the required format, protects the file, and lets Google Ads pull updates on a schedule. That means setup should not begin with the Save button. It should begin with a decision about which actions count as conversions and at what point they become reliable enough to use for ad optimization.

What problem the plugin solves and when it works better than a standard tag

A standard Google Ads tag fires in the visitor's browser. That works well for fast online events: the customer reaches the thank-you page, the code loads, and the event is sent almost immediately. But that model depends on the browser, cookie consent, ad blockers, caching, a functioning thank-you page, third-party scripts, and whether the purchase changed after the original event fired. If an order was paid by bank transfer, edited by a manager, partially refunded, or created after a phone call, the browser tag often no longer reflects the final truth.

PixelYourSite Conversion Exporter works from a different data layer. It uses actual WooCommerce records or saved form submissions, ties them to click IDs, user data, and consent status, and then prepares an export for Google Ads. For a store, this matters most in three situations: when purchases are not completed immediately, when orders are processed manually, and when refunds or amount changes should affect conversion value.

The plugin can run alongside the client-side PixelYourSite Google Tag. In that setup, the tag stays in place as the fast signal, while Conversion Exporter fills in what the tag missed or sends corrections. That is usually more practical than trying to choose one single channel. But if the tag on the site is unreliable because of browser restrictions or consent rules, exporting from first-party data can become the primary source for some imported conversions.

What counts as a data source

Inside the plugin, the source can be WooCommerce or a form. For WooCommerce, the source provides orders, statuses, amount, currency, the order identifier, and the ability to adjust a previously sent conversion. For forms, the source is built around the saved submission: email address, phone number, first name, last name, click IDs, and, if configured, consent status. These are not the same workflows, so it is better to create separate tasks and separate validation steps for them.

What not to expect from the tool

Conversion Exporter will not fix a poorly structured ad account, guarantee higher ROAS, or make legal consent decisions for the site owner. It also cannot magically find a click ID that was never captured, although it can use hashed user data for enhanced conversions. If your site does not contain valid orders, your forms do not save the required fields, or Google Ads is configured for a different conversion action with a different name, the export alone will not rescue your reporting.

Who this conversion import method is best for

The plugin is especially useful for WooCommerce stores and lead generation sites where ad optimization depends on an accurate link between the click and the real business value. If you have a lot of orders that are paid only after review, by bank transfer, by phone confirmation, or after a manual cart adjustment, a standard thank-you page shows only the checkout moment, not the final state of the order. This is where the export gives Google Ads a more honest picture.

The second strong use case is form-based sites where a submission is only the first step in a longer funnel. Google Ads can receive not just the form submission event, but also an imported conversion with hashed user-provided data. That helps when GCLID is missing or when the browser event does not create a complete connection to the user. One limitation remains important: match quality still depends on valid fields, consent, and Google Ads configuration.

The third group is projects that already use PixelYourSite for client-side tracking but need duplicate control. The official Conversion Exporter documentation includes a setting that skips WooCommerce orders already tracked by the Google Tag through PixelYourSite. That creates a clear hybrid model: the fast tag handles normal online purchases, and the export fills in the missed ones and corrects changed orders.

When it makes more sense to start with another solution

If all you need is a basic Google Ads tag on the thank-you page, with no imports, no protected CSV files, no forms, and no adjustments, Conversion Exporter may be more than you need. For a simple storefront with a small ad budget, Google for WooCommerce, PixelYourSite Professional, or another tag manager that sends standard browser events may be enough. But once offline payments, refunds, value-based bidding, or automated imports enter the picture, a narrow tag-only approach starts to lose accuracy.

A practical rule of thumb: if your marketer has to manually explain why WooCommerce order totals differ from Google Ads, Conversion Exporter has a real job to do. If the entire funnel is already being measured reliably with a client-side tag and there are no offline stages, start by auditing the existing tag.

What to check before installation and initial setup

Before installing the plugin, it helps to prepare not just WordPress but also the advertising logic behind it. The plugin can create export files and tasks, but it does not decide for you which order statuses count as a purchase, how the conversion action should be named in Google Ads, whether value should be enabled, which forms may be saved, or how long lead data should remain in the site's database.

Minimum prep starts with WordPress and WooCommerce. Make sure your store actually uses order statuses consistently. For many stores, Processing means payment has been received and the order should be fulfilled, while Completed means the order is closed. But with bank transfers, manual payments, or B2B invoicing, On hold may be only an intermediate state, and treating it as a conversion without validation is risky.

Next, check Google Ads. For import to work, you need conversion actions that match what you plan to send: a purchase, a lead, a purchase adjustment, or another stage. The conversion action name is critical: in the CSV, it must match the name in Google Ads exactly. Even an extra space or a different spelling can keep rows from matching.

Pre-launch checklist

  • Auto-tagging is enabled in Google Ads so clicks can receive GCLID and, when applicable, GBRAID or WBRAID.
  • In WooCommerce, it is clear which statuses represent a completed conversion and which should be excluded.
  • For forms, you know which pages they appear on and which fields can be mapped to Email, Phone, First Name, and Last Name.
  • The site has a clear consent policy, especially if the export includes user data or enhanced conversions.
  • Caching and optimization do not break admin tasks, the REST endpoint, or the WordPress scheduler.
  • You are prepared to validate the outcome not only in WordPress but also in Google Ads diagnostics after import.

Why WP-Cron matters for exports

By default, WordPress runs scheduled tasks when pages load. On a regular site, that is convenient, but on a low-traffic site the task may start later than expected. For Conversion Exporter, this affects CSV refresh timing. If Google Ads fetches the file on a schedule but WordPress has not rebuilt it yet, the import may lag behind. That is why stores with low traffic or aggressive caching should consider the plugin's own scheduler or external triggers.

Low-risk installation and the first validation check

Installation is standard for a premium WordPress plugin: upload the ZIP file through Plugins - Add New - Upload Plugin, then install and activate it. After activation, a Conversion Exporter section should appear in the admin panel. Do not rush into creating multiple tasks right away. First, confirm that the admin area opens without errors, WooCommerce is visible as a source, and the site is not showing critical issues in Site Health or the server logs.

If PixelYourSite Google Tag is already running on the site, do not automatically disable it. The official product logic supports a combined setup: the tag sends the real-time event, while Conversion Exporter covers missed events and adjustments. Turning the tag off before testing can hurt current campaigns because Google Ads stops receiving the online signals it is used to.

A safe first sequence

  1. Activate the plugin and open Conversion Exporter in the left WordPress menu.
  2. Go to the Conversion Tasks list and make sure the Add New Conversion Task button is available.
  3. Open the generation settings and review the available method: WP-Cron, the plugin's own scheduler, or external calls.
  4. Create one test task for WooCommerce or a form, but do not enable a large backfill until you understand the date range.
  5. Generate the file manually or wait for the first generation, then verify the URL, access, and format.

What counts as a successful initial check

Success at this stage does not mean seeing every conversion in Google Ads. This is an earlier checkpoint: the task turns on, the source can be selected, the file is created, the protected URL is accessible with the right credentials, and the task list shows the last update time. If the plugin displays Last Google crawl, that metric becomes useful after Google Ads is connected to the hosted feed.

Do not make your first task cover the entire historical period if you do not know how Google Ads will process older rows. Start with a short, understandable date range or only new records, then expand the import after validation.

Conversion Tasks: how to build tasks without duplicates or confusion

Conversion Tasks are the operational center of PixelYourSite Conversion Exporter. Each task defines what to export, in which format, under which conversion action name, from which source, and under what rules. In practice, think of it like a recipe: one task for purchases, another for refund adjustments, another for form leads. Trying to combine everything into one task makes diagnostics harder and increases the risk of duplicates.

Configuring Conversion Tasks in PixelYourSite Conversion Exporter with source selection and Google Ads format
A conversion task connects the WordPress source, Google Ads format, filters, and the protected file used for import.

General task settings

Start with an internal name. This is for you, not for Google Ads, for example WooCommerce Purchase Export or Lead Form Demo Request. Next, choose the format. If you are connecting through Google Ads Data Manager, use the matching Data Manager format. If you are using a traditional CSV import, choose the conversion uploads format. In both cases, the key setting is Conversion Name. It must match the conversion action name in Google Ads.

The consent option matters if you use ConsentMagic or a similar setup. Enable it when the export should respect user permission. If the site operates in jurisdictions where consent is critical, do not treat a technical checkbox as a legal review. The plugin can store and account for status, but responsibility for correct form wording, cookie policy, and legal basis still belongs to the site owner.

What to export from WooCommerce

For purchases, select the WooCommerce source and choose the statuses that truly mean a conversion. In a typical store, that is Processing and Completed, but do not copy that setup mechanically. If you use invoice-based payment, an order may sit in On hold for a long time, and including that status can distort your reporting. If payments often fail, Failed definitely should not be exported.

Enable Include Value if revenue, ROAS, or value-based bidding matters in Google Ads. For a store, that is almost always helpful, but only if WooCommerce totals are cleaned of test orders, manual errors, and unpaid statuses. If you use multiple currencies, also verify which currency the order provides and which currency Google Ads expects.

How to avoid duplicate purchases

If you already run Google tag through PixelYourSite, the setting Only orders not tracked by the PixelYourSite Google Tag helps prevent double counting. The idea is simple: orders that have already been sent through the client-side tag are skipped by the import task. This is especially important if you keep real-time tracking for standard browser purchases and use the export as a safety net.

Do not run a client-side purchase tag and a full import of all orders at the same time without a deduplication rule if both flows send the same conversion action. Otherwise, Google Ads may receive one purchase as an online event and as an offline import. Google may sometimes deduplicate by transaction ID, but you should not rely on that without verification.

Backfill and incremental updates

The Start generation from date option lets you limit the historical range. It is useful when you are not connecting the import from day one of the store's operation. Incremental updates matter so Google pulls new rows after the last crawl, instead of the same full file over and over with no sense of state. If Google crawler access to the file is being tracked, the task list can show when Google actually fetched the feed.

WooCommerce workflows: purchases, order changes, and refunds

The strongest part of Conversion Exporter for WooCommerce is not just exporting the purchase itself, but handling the fact that an order can change after checkout. A customer may change what they bought, a manager may apply a discount, some items may be returned, and a full refund should remove the conversion from useful revenue. Google Ads supports conversion adjustments, and the plugin uses that logic through separate tasks.

A diagram of a WooCommerce order, refund, and conversion adjustment in Google Ads
For a store, the initial purchase is not the whole story. The later amount adjustment or full refund matters too.

Purchase as the primary conversion

The main task usually sends the purchase. The important pieces are statuses, value, currency, order ID, and click ID. If you use strict Conversions from clicks import, include only records with GCLID, GBRAID, or WBRAID. If you enable enhanced data, make sure hashing and customer fields are configured correctly. In Google Ads, order ID is especially important because it helps tie future adjustments back to the original conversion.

Restatement: when the amount changes

Restatement is used when an order has already been imported but its amount changes. For example, one line item is removed, a manual discount is added, or a partial refund changes total revenue. In that case, the adjustment task should send the new value of the original conversion. In Google Ads, that affects value and ROAS, but it does not necessarily change the conversion count.

Retraction: when the order is fully refunded

Retraction applies to a full refund or any situation where the conversion should no longer be counted as completed. Google Ads describes a retract as removing the conversion from reporting and zeroing out its value. In WooCommerce terms, that means if an order is fully refunded, a separate adjustment task should send a row telling Google Ads that the original purchase should no longer boost campaign performance.

Why adjustments are better handled in a separate task

The official Conversion Exporter documentation states that adjustments should be uploaded through a separate task of type Conversion adjustments and matched by Order ID. That is not just a formality. A separate task makes troubleshooting easier: you can see purchase rows separately from change rows. If Google Ads rejects an adjustment, it is much easier to determine whether the original conversion is missing, the conversion action name does not match, or the order has not been imported yet.

How to choose the right WooCommerce export logic
Situation What to configure How to verify it
Regular paid purchase WooCommerce purchase task, using Processing and Completed statuses based on your workflow The file contains the order ID, value, currency, and the correct conversion name
Purchase already tracked by the tag Enable the option to skip orders already tracked by the PixelYourSite Google Tag Compare a test order sent by the tag with the export rows
Partial refund or changed amount A separate conversion adjustments task for restatement Confirm that the updated value is sent for the same order ID
Full refund A separate conversion adjustments task for retraction In Google Ads, the original conversion should stop inflating performance

Forms and enhanced conversions: turning a submission into an importable lead

Forms work differently from orders. An order has a cart, amount, currency, and order ID. A lead usually has an email address, phone number, first name, last name, the form page, and consent status. PixelYourSite Conversion Exporter provides Form Tasks that scan the page with the form, let you choose the detected form, and map fields to the data used for enhanced conversions.

This workflow is useful for service sites, B2B, consultation bookings, demo requests, and complex products where a lead is not the same as a sale. Google Ads can use hashed first-party data to match the lead back to an ad interaction, especially when a click ID is missing. But for that to work, email and phone values must be valid, and data storage must align with your privacy policy.

How to create a Form Task

Open Conversion Exporter - Form Tasks - Add New Form. Enter a clear name, for example Demo request form. Then paste the URL of the page where the form actually appears and click Scan. After scanning, choose the form from the dropdown and map the fields: Email is required, and First Name, Last Name, and Phone are recommended if they exist and you are allowed to use them.

Do not try to map every field in the form. For Google Ads, what matters is identifiers and click IDs, not the full message text submitted by the customer. The less unnecessary personal data you save, the easier it is to control privacy and retention. If the form includes a comment field, budget field, or internal note, it is rarely needed for enhanced conversions.

Data retention and privacy

Form Task settings include retention controls. Auto Delete lets you remove older records by age in days or by number of leads. This is an important setting, not just a cleanup feature. If leads are stored forever, the database grows and the responsibility around personal data becomes harder to manage. Choose a retention period that covers ad attribution and troubleshooting, but does not turn WordPress into an indefinite archive of lead submissions.

A safe setup: for forms, start with a short and controlled retention period, verify the import, and only then decide whether you need a longer one. Do not store every form field unless it actually participates in Google Ads matching.

Supported forms and scanner limitations

The documentation lists Contact Form 7, Fluent Forms, and generic HTML forms as examples of supported sources, but the real result depends on the specific page, markup, caching, and how the form is rendered. If the form is built entirely through an external widget or an iframe, the scanner may not see the required fields. In that case, do not force the task into existence. First, verify that the form is available in the page HTML and that JavaScript optimizers are not interfering with it.

GCLID backup for Safari and browser restrictions

One of the separate PixelYourSite pages addresses the problem of Safari stripping click identifiers from the URL. For Google Ads, that is a painful issue: if GCLID disappears before the site has a chance to save it, importing from orders or forms loses the direct connection to the ad click. Conversion Exporter offers a backup parameter: you add a custom parameter in Google Ads with the value {gclid}, and the plugin looks for it if the standard GCLID is missing.

This is not a consent workaround, and it is not a way to guarantee attribution at any cost. It is a technical fallback for situations where the standard parameter name becomes unreliable. The plugin stores the value in its own first-party cookie and then links it to the order or form submission if the user converts.

What the working logic looks like

  1. In Google Ads tracking settings, add a backup parameter, for example mybackupid={gclid}.
  2. In Conversion Exporter settings, enable the GCLID backup parameters option.
  3. In the parameter field, enter the exact name, for example mybackupid, without braces and without the value.
  4. The plugin checks the URL, saves the detected value, and uses it during export.

The most common mistake here is confusing the name with the value. In Google Ads, the value should be {gclid}, but in the plugin you should enter only the parameter name. If you enter the full string mybackupid={gclid} into the plugin, it may look for the wrong key.

How to validate the backup parameter

Create a test URL with the parameter you selected and open it in a browser while logged out of the WordPress admin area. After a test lead or order, check whether the click ID appears in the saved data and in the export. Do not use real ad clicks for your first technical checks if the scenario can be reproduced with a test URL. But the final validation still has to happen in Google Ads, because only Google can show whether the import was accepted and whether the rows were matched.

File generation modes and automatic updates

Conversion Exporter generates CSV files that Google Ads can pull automatically. That makes generation stability just as important as having the correct columns. The settings provide three approaches: WP-Cron, the plugin's own scheduler, and external calls. The right choice depends on traffic, caching, hosting, and how strict your schedule needs to be.

A map of CSV generation modes in PixelYourSite Conversion Exporter for WordPress Cron and external calls
Choose the generation mode based on schedule reliability, not just because the default is already selected.

WP-Cron

WP-Cron is the simplest option. It does not require a server cron job and works well for sites with regular traffic. But WordPress runs cron on page visits, not as a persistent system process. If nobody visits the site at night, the task may run later. For ad imports, that is not catastrophic, but the delay matters: Google Ads may fetch an older file if the new one has not been generated yet.

Own Scheduler

The plugin's own scheduler is meant to provide a steadier generation queue when standard WP-Cron is disabled or unreliable. It is a good middle-ground option for stores where the owner does not want to configure system cron but already sees that page-load cron does not always refresh the export on time.

External Calls

External calls turn off internal automatic triggers, and generation is started from outside, through WP-CLI or an HTTP GET endpoint. This mode is a better fit for projects with heavy caching, low traffic, or strict timing requirements. The plugin documentation lists the WP-CLI command wp cnvex checkexports and the REST endpoint /wp-json/cnvex/v1/checkexports. If the endpoint is called remotely, it should be protected with Basic Auth through constants in wp-config.php.

define( 'CNVEXSCHEDULERREQUESTUSERNAME', 'yourusername' );
define( 'CNVEXSCHEDULERREQUESTPASSWORD', 'yourpassword' );

This is not code to paste with real secrets in place. Replace the placeholders with unique values, treat them as access credentials for a technical endpoint, and do not send them to support, chatbots, or third-party tools. After enabling this, verify that the endpoint cannot trigger generation without Basic Auth.

Practical example: importing WooCommerce purchases without duplicates

Let's walk through a concrete scenario. The store already has PixelYourSite Google Tag installed, and it sends browser-side purchase events, but some orders are missed because of blockers and payments completed only after manual confirmation. The goal is to add Conversion Exporter so Google Ads receives missed purchases and adjustments without duplicating normal online orders.

Goal

Set up an automated Google Ads feed that exports paid WooCommerce orders, includes value and currency, skips orders already captured by Google Tag, and allows amount changes or full refunds to be sent separately.

Preparation

  • A purchase conversion action has been created in Google Ads with the exact name you plan to use in the task.
  • In WooCommerce, purchase statuses are defined as Processing and Completed, while Pending payment, Failed, and Cancelled are excluded.
  • PixelYourSite Google Tag is already working, and you want to keep the real-time event.
  • In ConsentMagic or another consent system, it is clear when user data may be exported.

Setup steps

  1. Open Conversion Exporter - Conversion Tasks and click Add New Conversion Task.
  2. Enable the task and give it a name, for example WooCommerce Purchases - missed by tag.
  3. Select the format that matches your connection method: Google Ads Data Manager or classic conversion uploads.
  4. In the Conversion Name field, enter the exact name of the conversion action from Google Ads.
  5. For the source, choose WooCommerce and select only the statuses that represent a final or valid purchase.
  6. Enable Include Value if you use revenue reporting or ROAS.
  7. Enable Only entries with GCLID if this is a strict conversions-from-clicks import. For enhanced lead matching, the logic may differ, but for GCLID-based purchases it reduces noise.
  8. Enable Only orders not tracked by the PixelYourSite Google Tag if the same purchase is already being sent by the tag.
  9. Set the username and password for the hosted feed, then copy the file URL into Google Ads Data Manager or a scheduled upload.
  10. Generate the file manually or wait for the schedule, then validate the rows against a test order.

How to verify the result

Start in WordPress: is the file there, did the generation time update, is the CSV non-empty, does the conversion name match, and do order ID, value, and currency appear? Then check Google Ads: did the import complete, were the rows accepted, are there any errors for the conversion action name, conversion time, stale click ID, or a missing conversion action at the time of the click?

For testing, create an order with an obvious amount, move it into the chosen status, and confirm that it appears in the feed. Then change the amount or issue a full refund if you have already created an adjustment task. The result is only trustworthy after validating the full chain of "order - feed - import - Google Ads report", not after saving settings in WordPress once.

A nuance that often breaks the workflow

If the conversion action in Google Ads was created only recently, Google warns that early uploads may be processed with a delay. So do not conclude that "the plugin is broken" five minutes after creating the conversion action. First confirm that the CSV is technically correct, then wait for processing and review diagnostics.

How to read the result in Google Ads without confusing delay with an error

Conversion imports are not always visible immediately. In Google Ads, conversion time, upload time, conversion action, account level, deduplication, and possible processing errors all matter. For diagnostics, use upload results, offline data diagnostics, and segmentation by conversion action. If everything looks correct in WordPress but Google Ads shows no rows, the issue is often not the plugin at all, but the matching rules.

Google Ads recommends using reporting columns that account for conversion time and comparing them with upload results. This is especially important when you are importing events that happened before the upload. A marketer may look at "today" based on upload time and not see rows that belong to the date of the actual purchase.

What to check first

  • Conversion action name. It must match the export exactly, including capitalization, spaces, and punctuation.
  • Age of the click ID. Google Ads limits the import window for GCLID, so events that are too old may be rejected.
  • Conversion time. A conversion cannot happen before the click, and the time zone should match the account logic.
  • Account level. If MCC or cross-account conversion tracking is used, the import must go to the correct level.
  • Duplicates. With the same combination of GCLID, conversion name, and conversion time, Google may deduplicate the row.
  • Feed access. Google must be able to access the URL over HTTPS and with the correct credentials.

Why Last Google crawl is useful

If the task shows Last Google crawl, you can distinguish between two situations: Google never fetched the file, or it fetched the file but rejected the rows. In the first case, check the URL, password protection, schedule, HTTPS, and server availability. In the second, inspect import errors: conversion action name, click ID, time, click age, and the value and currency format.

Connecting the feed to Google Ads Data Manager

Once the task in WordPress is generating a protected file, the next step is connecting it carefully in Google Ads. At this stage, many issues look like "the plugin is not sending data," when in reality Google Ads either could not access the file, could not map the fields, or is still waiting to process a newly created conversion action. That is why it is best to split the setup into two parts: first prove that the feed is being generated correctly on the WordPress side, then connect it as a data source in Google Ads.

For the Data Manager workflow, the setup usually revolves around an HTTPS connection. In Conversion Exporter, you copy the file URL, username, and password, and in Google Ads you add that source as the connection for imported conversions. If the Data Manager format is selected, Google should recognize the structure and map the data automatically or with minimal manual review. But automatic mapping does not remove the need for validation: the conversion name, value fields, currency, order ID, conversion time, and click identifiers still have to match the selected import type.

What to check before connecting it in Google Ads

Before giving the URL to Google Ads, open the task in WordPress and make sure it is not disabled. If HTTP Basic Auth is used, confirm that the credentials are set for the feed itself, not for the REST generation endpoint. These are different access layers. Feed credentials allow Google to read the CSV, while REST credentials can trigger generation through an external call. They should not be mixed in team documentation.

Next, verify that the file updates after a manual generation or according to the selected schedule. If the CSV has no rows, a Data Manager connection will not fix that. If rows are present but the conversion name is wrong, Google Ads still will not classify the data correctly. A good control method is to create one test record with an obvious amount and look for it by order ID or by email hash context, without exposing more personal data than necessary.

The sequence in Google Ads

  1. Create or choose the conversion action that matches the data type: purchase, clicks-based import, lead, or adjustment.
  2. Make sure the conversion action name matches what is entered in Conversion Name inside the task.
  3. Add an HTTPS source in Data Manager and use the URL, username, and password from Conversion Exporter.
  4. Review the mapping, especially time, value, currency, transaction ID, or order ID fields.
  5. Run a test upload or wait for the schedule, then save the validation result in the team's working notes.

If Google Ads shows data warnings, do not immediately change every plugin setting. Read the exact error first. A "conversion name not found" issue is not fixed by changing WooCommerce statuses. It is fixed by correcting the name or the account level. A stale-click error is not fixed by regenerating the same old file. An access error is not fixed by disabling Only entries with GCLID. That kind of discipline saves hours of troubleshooting.

Privacy control and data quality

Conversion Exporter works with data that may be sensitive: email, phone number, first name, last name, order ID, purchase details, and consent status. In enhanced conversions, this data should be sent in hashed form, but hashing does not mean you should store everything forever without purpose or limits. A strong setup starts with a simple question: which fields does Google Ads actually need for the selected conversion action, and which ones can be left out?

For WooCommerce, the essentials are usually order ID, value, currency, conversion time, click ID, and, if enhanced-style data is enabled, billing details. For forms, email is usually the most important field, while phone, first name, and last name can improve match rates if they are filled in correctly. The form message, customer comment, arbitrary text, and internal manager fields should not be included in the export without a clear reason.

Minimization in practice

  • Do not map form fields that are not used for Google Ads matching or reporting.
  • Enable auto delete for form data if there is no legal or operational reason to keep leads for a long time.
  • Separate tasks by source so leads and purchases do not end up in the same file with an unclear structure.
  • Do not share the feed URL, username, password, or REST credentials in public tickets, prompts, logs, or with contractors unless necessary.
  • Check user consent before export if your policy and regional requirements require it.

Also review your test orders and test leads. If the store contains a lot of test data, it can end up in the feed and then in the ad platform. Before going live, delete or exclude test records, use separate conversion actions for technical validation, or limit the generation start date. This matters even more if the campaign uses value-based bidding: incorrect values can train the algorithm on bad data.

How to keep a working change log

For a plugin like this, it helps to keep a simple log: the date of the change, the task, what changed, why it changed, who validated it, and which test order ID or form lead was used. This is not bureaucracy. A month later, when Google Ads shows a discrepancy, that log helps answer whether the status set changed, whether the anti-duplicate filter was enabled, whether the feed was moved to external calls, or whether the conversion action was changed.

A strong setup is different from a random one because it can be repeated and explained. If the team cannot say why these statuses, this format, and this generation mode are enabled, the import will be hard to maintain.

A launch plan for a live site

It is better to roll out Conversion Exporter in short phases rather than one big switch-on. First configure one task, then validate the feed, then connect Google Ads, then add adjustments, and only after that expand to forms or additional conversion actions. That sequence reduces duplicate risk and makes errors easier to isolate.

Stage 1: technical smoke test

At this stage, the goal is simply to prove that the plugin can generate the file. Create one task with a clear source, generate the CSV, and confirm that the expected test row is present. Do not immediately connect new imports to Smart Bidding. Do not draw conclusions about ROAS. Just confirm that WordPress, the source, and the feed are working.

Stage 2: Google Ads import without scaling

Connect the feed to the correct conversion action and wait for processing. Review the upload result, errors, and timing. If everything is accepted, compare one or several test records against WooCommerce orders or form submissions. At this stage, accuracy matters more than volume.

Stage 3: duplicate protection and adjustments

If the client-side tag is still active, enable the anti-duplicate rule and confirm that online orders are not being sent a second time. Then create a separate adjustment task for refunds and amount changes. If it is safe for your payment and inventory workflow, test both a partial refund and a full refund on a test order.

Stage 4: ongoing operation

Once the import is stable, move on to scheduling. For a store with normal traffic, you can start with WP-Cron or the plugin's own scheduler. For a site with low traffic, aggressive caching, or strict timing requirements, use external calls. In any case, keep a regular review process in place: generation time, Last Google crawl, import errors, and any unexpected drop in row counts.

Common PixelYourSite Conversion Exporter issues and diagnostics

Troubleshooting here should follow the full chain: the WordPress data source, the plugin task, the file, Google access, and Google Ads processing. If you jump straight to campaign reports, it is easy to mistake latency or deduplication for a broken plugin.

Troubleshooting PixelYourSite Conversion Exporter errors during Google Ads conversion imports
It is easier to find the issue step by step: symptom, cause, check, fix, and re-import.

The CSV is empty or missing expected orders

Symptom: the task is enabled and the file is generated, but there are few rows or the test order is missing. A likely cause is that the selected statuses do not match the order's real state, the Only entries with GCLID filter is enabled, the order has already been marked as tracked by Google Tag, or the generation period starts after the order date.

Check the order status, the presence of a click ID, the selected backfill date, and the anti-duplicate setting. For testing, use a new order that passes through the selected status. If you need to validate the export itself without GCLID, temporarily create a separate test task with a different name and looser filters, but do not connect it to a live conversion action without control.

Google Ads says the conversion name was not found

Symptom: the file is accepted technically, but rows are rejected because of the conversion name. The cause is almost always a mismatch in the conversion action name or the account level. Check capitalization, spaces, localized naming, MCC, and cross-account tracking. The fix is to make Conversion Name in the task exactly match the name in Google Ads and repeat the import.

The import is rejected because of timing or an old click

Symptom: Google Ads reports that the conversion happened before the click or that the click is too old. Check the WordPress time zone, the Google Ads time zone, and the time format in the feed. If you are importing historical data, make sure the events are still within the allowed window. For ongoing use, configure more frequent generation, because Google recommends sending offline conversions regularly, especially when they are used in Smart Bidding.

Refunds are not changing revenue

Symptom: the purchase appears, but after a refund in WooCommerce, Google Ads still shows the old value. A likely reason is that there is no separate Conversion adjustments task, the order ID does not match, the original conversion has not been imported yet, or the adjustment is being sent to a different conversion action. Confirm that the adjustment task exists separately and uses Order ID for matching.

Google is not fetching the protected file

Symptom: the file exists, but Last Google crawl does not update or Google Ads cannot see the source. Check HTTPS, Basic Auth, URL accessibility without firewall blocks, caching issues, or maintenance mode. If you use external generation calls, make sure the task is actually rebuilding the CSV before Google comes to fetch the file.

The form is not found by the scanner

Symptom: Scan does not show the required form or the fields cannot be mapped. Possible causes include the form being rendered inside an iframe, appearing only after JavaScript runs, being hidden for logged-out users, being blocked by caching, or not belonging to a supported form type. Check the public page, disable aggressive optimization for the test, and make sure the required input fields are present in the HTML.

Safe improvements for a more stable export

For this product, it is better to avoid random PHP snippets that modify the CSV unless there is a direct need and supporting documentation. The official hooks and filters page lists filters for statuses, CSV columns, form data, and consent values, but some names in the published text read more like human descriptions than production-ready code with exact signatures. That is why it is safer to rely on built-in settings and leave hook-based customization to a developer who can inspect the actual plugin code in your version.

What you can improve without code

  • Create separate tasks for purchases, leads, and adjustments so issues do not get mixed together.
  • Set a short retention period for form leads if a long-term archive is not needed.
  • Move generation to external calls if WP-Cron is unreliable or the site gets little traffic.
  • Store feed credentials and REST endpoint credentials separately from public notes, and do not share them with Codex, support, or contractors unless necessary.
  • Clear the cache after installation, because even the official PixelYourSite FAQ mentions that cache should be flushed after installing the plugin.

A cautious option for external calls

If server cron is available, ask the administrator to run the WP-CLI command from the plugin documentation on a schedule. Do not publish it in a public site article, and do not store output that contains secrets. The command itself contains no passwords, but server and cron access still need to be restricted.

wp cnvex checkexports

Validation after implementation is simple: the generation time in the task list should update on schedule, and Google Ads should fetch a fresh file rather than an outdated one. Rolling back is equally simple: change the generation method back to WP-Cron or the plugin's own scheduler and disable the external cron job.

FAQ on setup and limitations

Can PixelYourSite Conversion Exporter fully replace Google tag?

Technically, it can become the primary source for some imported conversions, but in most cases it is better to keep Google tag for fast real-time signals and use the export for missed events, offline stages, forms, refunds, and order changes. The product's official FAQ also recommends a combined setup rather than turning the tag off abruptly for no reason.

Should I enable Only entries with GCLID?

For strict conversions-from-clicks imports, this is useful because rows without a click ID will not be sent as if they were definitely tied to an ad click. For enhanced conversions, the situation may differ because Google can use hashed first-party data. The right decision depends on the conversion action, the source type, and what you are willing to treat as a trustworthy conversion.

Why is the order in WooCommerce but not in the export?

Check the order status, generation start date, presence of a click ID, the anti-duplicate filter for PixelYourSite Google Tag, and the selected source. In many cases, the order simply does not match the task rules. If it should match, regenerate the file and confirm that the task time updated.

Can I use the plugin only for forms, without WooCommerce?

Yes, the product claims support for WordPress forms. The workflow is to create a Form Task, scan the form page, map the fields, and then use a Conversion Task with a Forms source to generate the CSV. But the real outcome depends on whether the scanner can detect your form and whether you have a legal basis to store lead fields.

What should I do if WP-Cron runs irregularly?

First, check whether the delay is actually affecting the export. If it is, consider the plugin's own scheduler or external calls. For the external mode, use the WP-CLI command or REST endpoint from the documentation, protect the endpoint, and make sure files update before the Google crawler arrives.

Do I need to send every customer field for enhanced conversions?

No. For forms, email is the primary identifier, while phone, first name, and last name may improve match rates if they are valid and permitted for use. Extra message fields, comments, and internal notes are usually unnecessary and increase the risk of storing more personal data than needed.

Can I import my entire order history right away?

It is better not to start with a full historical backfill. Limit the date range, verify the format, processing, and Google Ads errors, and only then expand the import. Older click IDs may no longer be accepted, and a very broad import makes troubleshooting harder.

When PixelYourSite Conversion Exporter is the right choice

PixelYourSite Conversion Exporter is worth using when you need more than just an ad tag on the site. It is built for controlled imports of real orders and leads into Google Ads. It is especially appropriate for WooCommerce stores with offline payments, manual processing, refunds, order changes, browser tracking gaps, and a need for a protected hosted feed. For forms, it becomes useful when a submission needs to turn into an importable lead with enhanced conversion data.

Before you download the installation package, check three things: you have clear conversion actions in Google Ads, you understand your WooCommerce statuses or form fields, and you are prepared to test the full chain all the way to the Google Ads report, not just save settings in WordPress. If those conditions are in place, the plugin can become a clean bridge between your site's first-party data and ad optimization.

If the task comes down to simple thank-you-page tracking, start by auditing your current tag. Conversion Exporter shows its value when post-purchase data changes, the browser layer loses part of the signal, and marketing needs a regular, verifiable way to send conversions without manual CSV uploads.

By OceanTheme.org Editorial Team

 

You are not logged in to post comments.