Integrate Stripe Payment Processing with Google Ads

Table of Contents

Signup to our Newsletter

A customer clicks a Google advert today but completes their payment through Stripe several days later. Google Ads records the original lead, while Stripe records the money. Unless the two systems are connected properly, neither platform provides the complete picture.

This creates a serious optimisation problem.

Google Ads may treat every enquiry as equally valuable, even though some leads never buy while others generate thousands of pounds in revenue. Meanwhile, Stripe knows who paid and how much—but it does not automatically know which keyword, advert or campaign originally acquired that customer.

Stripe conversion tracking closes this gap by sending confirmed payment data back to Google Ads. This can help you:

  • Attribute Stripe revenue to Google Ads campaigns.

  • Calculate return on ad spend using confirmed sales.

  • Optimise towards customers rather than form submissions.

  • Pass different conversion values for different transactions.

  • Distinguish initial purchases from recurring subscription revenue.

  • Adjust conversions when payments are refunded or cancelled.

  • Give Google’s automated bidding better commercial signals.

However, simply connecting Stripe to Google Ads is not enough. The integration must include a reliable identifier that allows Google to match the payment to an advertising interaction.

That identifier could be a Google Click ID, hashed customer information or a transaction ID used to reconcile multiple data sources. Each performs a different job.

Stripe Google Ads

A Stripe Payment Does Not Automatically Identify the Google Ad

Stripe normally provides information such as:

  • Customer name and email address.

  • Payment amount and currency.

  • Payment date and time.

  • Checkout Session ID.

  • PaymentIntent ID.

  • Charge ID.

  • Invoice ID.

  • Subscription ID.

  • Payment status.

  • Refund and dispute information.

This proves that a commercial event occurred, but it does not necessarily prove that Google Ads caused it.

For example, a Stripe payment from [email protected] could have originated from:

  • A Google advert.

  • Organic search.

  • A Meta advert.

  • An email campaign.

  • A referral.

  • A returning customer.

  • A direct visit.

The integration therefore needs two different types of identifiers:

  • An attribution identifier that helps Google connect the customer or transaction to an advertising interaction.

  • A transaction identifier that identifies the individual sale and prevents it from being counted twice.

A Stripe PaymentIntent ID can make an excellent transaction ID, but it is not normally an attribution identifier.

Match Stripe Conversion Google Ads

How Google Matches a Stripe Conversion to an Ad

Google Ads can use several matching mechanisms, depending on the implementation.

IdentifierWhat it identifiesMain purpose
GCLIDA Google advertising clickDeterministic click attribution
GBRAID or WBRAIDPrivacy-preserving advertising interactions, commonly associated with restricted iOS environmentsAttribution where a standard GCLID is unavailable
Hashed email addressA customer or signed-in Google userEnhanced conversion matching
Hashed telephone numberA customer or signed-in Google userAdditional enhanced conversion matching
First-party cookie dataAdvertising information stored in the customer’s browserWebsite conversion attribution
Stripe Checkout Session, PaymentIntent or Invoice IDThe individual Stripe transactionDeduplication and conversion adjustments
Internal order IDThe order in your ecommerce, CRM or billing systemDeduplication and reconciliation
UTM parametersCampaign source, medium and campaign labelsInternal reporting, but not a replacement for Google click identifiers

The distinction matters because Google does not usually use the Stripe order ID to discover which advert generated the sale. Google uses the order ID to identify that particular conversion, prevent duplication and support subsequent conversion adjustments.

The actual advertising match generally comes from a click identifier, user-provided data or existing website conversion data.

Matching with a GCLID

When Google Ads auto-tagging is enabled, Google adds a Google Click ID—known as a GCLID—to the landing-page URL after an advert is clicked.

The website must capture that value and preserve it throughout the customer journey. It could be stored in:

  • A first-party cookie.

  • A hidden form field.

  • A CRM contact record.

  • A sales opportunity.

  • An ecommerce order.

  • Stripe Checkout metadata.

  • Stripe customer metadata.

  • A separate attribution database.

When Stripe confirms payment, the stored GCLID is sent to Google Ads with the conversion time, value, currency and conversion action. Google can then associate the sale with the original click.

Google confirms that auto-tagging adds the GCLID to the landing-page URL and recommends continuing to send click identifiers wherever they are available.

This is generally the strongest match for traditional click-based offline conversion tracking because it connects the transaction to a specific advertising interaction.

Matching with enhanced conversions

Enhanced conversions supplement click-based tracking with first-party customer data such as:

  • Email address.

  • Telephone number.

  • Name and postal address, where supported.

The customer information is normalised and hashed before being used for matching. Google compares it with data collected by the Google tag and with signed-in Google accounts that interacted with the advertising.

This can help recover conversions where the original GCLID was not successfully preserved. It can also support cross-device and more privacy-resilient measurement.

Google recommends providing all relevant identifiers rather than treating email matching as a replacement for click IDs. A strong implementation may therefore send:

  • GCLID, GBRAID or WBRAID when available.

  • Hashed email address.

  • Hashed telephone number.

  • Conversion time.

  • Conversion value.

  • Currency.

  • Order ID.

  • Consent status.

Read more about the wider process in our Google Ads offline conversion tracking guide.

Matching with website cookies

When the entire purchase journey occurs in the same browser, the Google tag can often attribute the conversion using advertising information stored in first-party cookies.

This is the standard website conversion-tracking approach. The Google Ads purchase tag fires after payment, reads the available advertising information and sends the conversion to Google.

However, this becomes less reliable when:

  • Stripe Checkout is hosted on another domain.

  • The customer does not return to the confirmation page.

  • The payment is completed through an invoice or Payment Link.

  • The buyer changes device or browser.

  • The final payment occurs days after the original enquiry.

  • Browser restrictions or consent choices limit cookies.

  • A salesperson creates the Stripe payment manually.

  • The payment is completed through a recurring billing workflow.

For these journeys, a server-side or offline conversion import is usually more dependable.

What the Stripe order ID does

Google calls the unique identifier supplied with offline conversions an order ID. For online website conversions, it is commonly called a transaction ID.

Suitable Stripe values include:

  • Checkout Session ID for an individual completed Checkout session.

  • PaymentIntent ID for the underlying payment attempt.

  • Invoice ID for a paid subscription invoice.

  • An internal ecommerce order number.

  • A CRM opportunity or invoice ID, if it is unique for every reported conversion.

Google uses this value to recognise the transaction. It can help prevent a webhook retry, duplicated automation or repeated import from creating another conversion.

It can also be used later to restate or retract a conversion following a refund. Google recommends including a unique transaction or order ID, particularly for purchase conversions.

Do not use the customer ID as the order ID. One customer can complete several legitimate purchases, and each transaction needs its own unique identifier.

What a Good Stripe-to-Google Ads Data Flow Looks Like

A robust implementation usually follows this logic:

  1. A prospective customer clicks a Google advert.

  2. Auto-tagging adds a GCLID, GBRAID or WBRAID to the landing-page URL.

  3. The website stores the identifier in a first-party cookie, CRM record or database.

  4. The customer submits a form, creates an account or starts Stripe Checkout.

  5. The attribution identifiers are attached to the customer or transaction.

  6. Stripe confirms that payment has succeeded.

  7. An automation or server-side service retrieves the payment data.

  8. The conversion is sent to Google Ads with its identifiers, value, currency, time and order ID.

  9. Google attempts to match the conversion to an eligible advertising interaction.

  10. The conversion appears against the relevant campaign, advert and keyword according to the conversion action’s attribution settings.

The hardest part is usually not sending the Stripe payment to Google. It is preserving the advertising identifiers between the initial website visit and the eventual payment.

If the workflow only starts after Stripe receives money, it may already be too late to recover the original GCLID unless it was stored earlier.

Methods Google Ads Stripe

Stripe Google Ads Integration Methods

There is no single best method for every business. The right solution depends on how customers pay, how long the sales cycle lasts and how much technical control you have.

Standard Google Ads Purchase Tag

The simplest option is to fire a normal Google Ads website purchase conversion after Stripe Checkout.

This can work well when:

  • Customers begin and complete the purchase online.

  • Stripe redirects customers back to a confirmation page.

  • The Google tag and consent configuration are working correctly.

  • The page receives the verified value, currency and transaction ID.

  • Most customers complete the journey in the same browser.

Stripe supports including the Checkout Session ID in the return URL. Your server can retrieve the session, verify its status and expose the verified transaction information to the confirmation page.

The Google Ads conversion tag can then send:

  • Conversion value.

  • Currency.

  • Transaction ID.

  • New-customer status, where relevant.

  • Enhanced conversion data.

Stripe warns that businesses should not rely exclusively on the success page to confirm fulfilment because a customer can pay without successfully loading that page. Stripe recommends using webhooks as the authoritative payment confirmation.

The most reliable version of this approach therefore uses:

  • A Stripe webhook to verify and process the payment.

  • A confirmation-page tag for immediate browser attribution.

  • The same transaction ID in both systems.

  • A backend import or additional data source to recover missed browser conversions.

This approach is attractive for standard ecommerce transactions, but it is less suitable for invoices, consultations, offline sales or delayed payments.

1-Action-App-Zapier-Stripe-Google-Ads

Zapier Stripe to Google Ads Integration

Zapier provides one of the most accessible no-code approaches.

A typical Zap contains:

  • Trigger: A successful Stripe payment event.

  • Action: Send an offline conversion to Google Ads.

Possible Stripe triggers include:

  • Checkout Session Completed.

  • New Payment.

  • New Charge.

  • New Subscription.

  • Invoice Payment Succeeded.

  • A selected Stripe event.

The exact trigger should reflect confirmed revenue rather than merely the creation of a customer, invoice or payment link.

How Zapier identifies the conversion

Zapier’s Google Ads “Send Offline Conversion” action can send conversion information such as:

  • GCLID.

  • Email address or telephone number for enhanced conversion matching.

  • Google Ads conversion action.

  • Conversion timestamp.

  • Conversion value.

  • Currency.

Zapier’s current documentation lists a GCLID as a prerequisite for its Send Offline Conversion action while also allowing an identifier-source selection that may include email or telephone number when enhanced conversions are enabled. In practice, the safest implementation is to preserve and send the GCLID whenever possible, then supplement it with user-provided data.

Zapier documents the current Google Ads offline-conversion fields and requirements.

The Zap must retrieve the attribution identifier from somewhere. Stripe will only contain the GCLID if it was previously:

  • Added to Checkout metadata.

  • Added to the PaymentIntent.

  • Stored against the Stripe customer.

  • Retrieved from a CRM or database using the customer email or internal ID.

  • Passed from a preceding form or checkout workflow.

A Zap that uses only “New Stripe Payment” followed by “Send Offline Conversion” may not have enough information for reliable attribution.

Google Ads Stripe

Recommended Zapier workflow

A more complete Zapier implementation could work as follows:

  • Capture the GCLID and customer information on the website.

  • Store the identifiers in the CRM or order record.

  • Pass the internal record ID into Stripe metadata.

  • Trigger the Zap after confirmed payment.

  • Look up the related CRM or database record.

  • Retrieve the GCLID, email, telephone number and original lead details.

  • Send the conversion to Google Ads.

  • Use the Stripe PaymentIntent, Checkout Session or Invoice ID as the unique order ID where the action supports it.

  • Record the Google Ads upload status for troubleshooting.

  • Process refunds through a separate adjustment workflow.

The screenshots in the original implementation correctly demonstrate the basic Stripe trigger and Google Ads action. The missing piece is the attribution data collected before Stripe creates the payment.

For a broader overview, see our guide to Google Ads Zapier automation and our dedicated explanation of Zapier offline conversion tracking.

Advantages of Zapier

  • Accessible no-code interface.

  • Native Stripe triggers.

  • Native Google Ads offline-conversion action.

  • Easy account authentication.

  • Useful for straightforward workflows.

  • Filters, lookups, formatting and delays can be added.

  • Suitable for CRM-assisted sales journeys.

Limitations of Zapier

  • The original GCLID must still be collected and stored.

  • Email matching requires enhanced conversions and appropriate consent.

  • High-volume workflows can become expensive.

  • Complex subscription and refund logic may require several Zaps.

  • Available fields and actions can change.

  • Testing with sample Stripe data does not prove that Google matched the conversion.

  • A successful Zap only proves delivery, not attribution.

Always inspect Google Ads offline-data diagnostics after activation.

Google Ads Stripe

Make Stripe to Google Ads Integration

Make can also orchestrate Stripe payment workflows, but its Google Ads implementation requires more technical configuration than a basic Zapier workflow.

A Make scenario could:

  • Receive a Stripe webhook.

  • Retrieve the Checkout Session, PaymentIntent, Invoice or Subscription.

  • Look up the associated customer in a CRM or database.

  • Retrieve the GCLID and customer identifiers.

  • Format email addresses and telephone numbers.

  • Convert Stripe’s smallest currency unit into the correct decimal value.

  • Route first payments, renewals, refunds and failed payments differently.

  • Send the resulting event to Google.

  • Log the request and response.

  • Retry failed uploads without duplicating conversions.

Make’s Google Ads Conversions app currently documents modules for areas such as call conversions, conversion adjustments, conversion enhancements and API calls. Its setup can require Google Cloud credentials and a Google Ads developer token. Make’s official Google Ads Conversions documentation should therefore be checked before assuming there is a simple drop-in equivalent to Zapier’s standard Send Offline Conversion action.

Where the required module is unavailable, Make can still be used through:

  • The Google Data Manager API.

  • A supported Google Ads API route for an existing authorised implementation.

  • An HTTP request to a custom middleware service.

  • A webhook into a specialised tracking platform.

  • A scheduled Google Ads Data Manager file or database connection.

The identification logic remains the same regardless of the transport:

  • GCLID, GBRAID or WBRAID for click attribution.

  • Hashed email or telephone number for enhanced matching.

  • Stripe or internal order ID for deduplication.

  • Conversion time, value and currency for reporting and bidding.

Advantages of Make

  • More flexible data transformation and routing.

  • Strong webhook support.

  • Better control over branching logic.

  • Useful for subscriptions and multiple Stripe event types.

  • Can combine Stripe, CRM and database records.

  • More suitable for detailed error handling and logging.

Limitations of Make

  • More complex Google authentication.

  • Some methods require API knowledge.

  • A developer token may be required for certain Google Ads modules.

  • Custom API implementations require maintenance.

  • Incorrect mapping of Stripe amounts can dramatically inflate reported value.

Stripe commonly returns monetary amounts in the smallest currency unit. For example, 1080 may represent £10.80 rather than £1,080. The scenario must convert the value correctly before sending it to Google Ads.

Tracklution Stripe Server-Side Tracking

Tracklution is a specialist server-side tracking platform with a dedicated Stripe and Google Ads connection.

According to Tracklution, its workflow:

  • Collects first-party website data.

  • Receives Stripe conversion events.

  • Associates transactions with available attribution parameters.

  • Parses and hashes user-provided data.

  • Sends events directly to Google Ads.

  • Handles conversion IDs, labels and event names.

  • Supports pixel installation, Google Tag Manager, scripts and webhooks.

  • Does not require the advertiser to manage a server-side Google Tag Manager container.

Tracklution describes its Stripe and Google Ads implementation here.

This is different from a simple Stripe-triggered automation. Tracklution attempts to capture the acquisition data earlier in the journey and then connect it with the later Stripe payment.

That makes it potentially useful when:

  • Stripe Checkout is hosted away from the main website.

  • Browser-only tracking is losing conversions.

  • The business uses Payment Links or delayed payments.

  • Multiple advertising platforms need the same server-side events.

  • The business does not want to maintain custom infrastructure.

  • A direct connection is preferred over assembling several automations.

As with any tracking system, make sure to check data before using forbidding, verify:

  • Which Google identifiers it captures.

  • How those identifiers are stored.

  • Whether GCLID, GBRAID and WBRAID are supported.

  • Which user-provided fields are sent.

  • How consent signals are respected.

  • What is used as the Google order ID.

  • How duplicate events are prevented.

  • How refunds and subscription cancellations are handled.

  • Whether event-level delivery logs are available.

  • Whether its reported conversion uplift is reflected in Google Ads diagnostics.

Google Ads Data Manager and Custom API Integration

For larger or more complex businesses, a direct data implementation can provide the greatest control.

A custom workflow can connect:

  • Website attribution database.

  • CRM contacts and opportunities.

  • Stripe webhooks.

  • Ecommerce order records.

  • Google Ads Data Manager.

  • Google’s conversion APIs.

  • Internal reporting or data warehouse.

Google is moving offline data activation towards Data Manager and its dedicated API. New custom development should therefore be designed around the latest Google Data Manager API documentation rather than assuming that an older Google Ads API upload method will remain the preferred route.

A custom event can include:

  • Google Ads conversion action ID.

  • GCLID, GBRAID or WBRAID.

  • Hashed email address.

  • Hashed telephone number.

  • Conversion timestamp.

  • Conversion value.

  • ISO currency code.

  • Order ID.

  • Consent status.

  • Session attributes and other supported information.

This method is appropriate when:

  • Transaction volume is high.

  • There are several payment systems.

  • The business has a CRM and data warehouse.

  • Sales occur across websites, calls and invoices.

  • Precise audit logs are required.

  • Refunds and restatements must be automated.

  • Several Google Ads accounts share centralised conversion tracking.

Its disadvantage is implementation and maintenance cost. Authentication, validation, retries, hashing, consent, API changes and diagnostics all need to be managed properly.

Server-Side Google Tag Manager

Server-side Google Tag Manager can provide another route, particularly when a business already has a mature tagging infrastructure.

The browser sends first-party event information to a server container, which can enrich, validate and forward it to Google Ads.

Stripe webhooks or backend purchase events can also be incorporated into the wider architecture. However, server-side GTM does not automatically solve identity matching. It still needs the click and customer identifiers collected earlier in the journey.

Server-side GTM is generally best when:

  • The business already uses a server container.

  • Several advertising and analytics platforms receive the same events.

  • Developers can maintain the implementation.

  • Data governance and request control are important.

  • The website produces structured e-commerce data.

For a small business with a simple Stripe setup, Zapier or a managed tracking platform may be more practical.

Methods Google Ads Stripe

Comparing the Main Stripe Google Ads Solutions

SolutionMain matching methodBest suited toComplexity
Google Ads website tagBrowser cookie, click data and enhanced conversion dataImmediate online checkoutLow to medium
ZapierGCLID plus optional enhanced conversion identifiersStraightforward no-code workflowsLow to medium
MakeGCLID and customer identifiers through modules, HTTP or APIFlexible automation and multi-step data enrichmentMedium to high
TracklutionFirst-party attribution data and user-provided information managed by the platformManaged server-side trackingMedium
Data Manager/APIClick IDs and hashed customer dataHigh-volume or custom infrastructureHigh
Server-side GTMFirst-party event and attribution dataMature multi-platform tracking stackHigh
Manual Data Manager uploadGCLID or hashed customer dataLow-volume reconciliation or initial testingLow operationally, but manual

The tool does not determine the measurement quality by itself. A well-designed Zapier workflow can outperform an expensive server-side setup if the latter fails to preserve the correct identifiers.

 

Choosing the Correct Stripe Trigger

Not every Stripe event represents revenue.

Checkout Session Completed

This is often suitable for Stripe Checkout, but some payment methods complete asynchronously. Review the payment status rather than assuming every completed session represents settled revenue.

Stripe provides separate events for asynchronous payment success and failure.

PaymentIntent Succeeded

This confirms successful completion of a PaymentIntent and is often a good basis for reporting a paid transaction.

Stripe recommends creating one PaymentIntent for each order or customer session, making its ID a useful candidate for a unique Google Ads order ID.

Charge Succeeded

This confirms a successful charge, but a single PaymentIntent can have a relationship with charge objects. Avoid reporting both a successful PaymentIntent and its successful charge as two conversions.

Invoice Payment Succeeded

This is useful for paid invoices and subscription billing. You must decide whether to report:

  • Only the first paid invoice.

  • Every successful recurring invoice.

  • Recurring revenue through a separate secondary conversion.

  • An estimated customer lifetime value at acquisition.

Reporting every monthly invoice as a new-customer acquisition would overstate customer numbers.

New Customer

A Stripe customer object can be created without any payment. It should not normally be used as a sales conversion.

New Subscription

A subscription can be created before payment is confirmed. Use a successful payment or paid-invoice event when the objective is revenue.

Payment Link Created

Creating a Payment Link does not mean that anyone has bought. It is an operational event rather than a conversion.

Subscriptions, Recurring Revenue and Lifetime Value

Subscription businesses need a clear value strategy before sending Stripe data to Google Ads.

Possible approaches include:

Report only the first payment

This provides a conservative view of customer acquisition. It is easy to understand and closely related to the original advertising interaction.

Report expected customer value

The initial conversion can use an estimated value based on expected gross margin, retention and churn.

This gives bidding more meaningful value sooner, but the estimate must be realistic and regularly reviewed.

Report recurring payments

Each successfully paid invoice can be uploaded as additional revenue. This reflects realised income but can create a long delay between the advert and the reported value.

It can also cause older campaigns to continue receiving revenue long after acquisition.

Use value adjustments

Report the initial estimated value, then restate it when the actual customer value becomes clearer. This is technically more demanding but can provide a better balance between speed and accuracy.

Whichever model is selected, document it. Do not mix first-payment value, annual contract value and recurring invoice revenue indiscriminately within the same conversion action.

Refunds, Cancellations and Conversion Adjustments

Revenue tracking is incomplete if Google receives successful payments but never receives refunds.

Google supports:

  • Restatements: Change the reported conversion value.

  • Retractions: Remove the conversion after a refund, cancellation or invalid sale.

The original order ID provides the safest reference for the adjustment. Google uses it with the conversion action to locate the event. Google’s conversion-adjustment guidance explains how retractions and restatements are processed.

A complete Stripe implementation should consider:

  • Full refunds.

  • Partial refunds.

  • Disputed payments.

  • Chargebacks.

  • Subscription cancellations.

  • Trial cancellations.

  • Failed recurring invoices.

  • Currency changes.

  • Duplicate payments.

  • Manual credits.

Do not automatically retract an original customer-acquisition conversion merely because a later subscription invoice fails. Decide whether the conversion represents the customer acquisition, the individual invoice or recognised revenue.

Customer Match Is Not Conversion Tracking

Some Stripe and Google Ads automation templates add Stripe customers to a Google Ads customer list.

This can be useful for:

  • Customer exclusions.

  • Existing-customer targeting.

  • Upselling.

  • Cross-selling.

  • Audience observation.

  • New-customer acquisition strategies.

However, adding someone to a customer list does not record a conversion and does not attribute their Stripe payment to a campaign.

These are different operations:

  • Send Offline Conversion: Reports a commercial outcome for measurement and bidding.

  • Add Contact to Customer List: Adds a person to an advertising audience.

A workflow can do both, but they should not be confused.

How Stripe Revenue Improves Google Ads Bidding

Many lead-generation campaigns optimise towards form submissions because that is the easiest event to track.

Suppose two campaigns each generate 20 leads:

CampaignLeadsCustomersStripe revenue
Campaign A202£2,000
Campaign B207£14,000

If Google only receives the lead conversions, both campaigns appear equally successful.

Once Stripe revenue and customer outcomes are imported, Google receives a much stronger commercial signal. This can support:

  • Optimisation towards completed sales.

  • Value-based bidding.

  • Target ROAS.

  • Maximise conversion value.

  • Better differentiation between low- and high-value enquiries.

  • Budget allocation based on revenue rather than lead volume.

However, additional data does not automatically guarantee better results. Google needs sufficient, consistent conversion volume, and the imported values must reflect genuine business value.

Before switching bidding towards Stripe sales:

  • Verify the imports.

  • Compare imported conversions with Stripe.

  • Check match rates and diagnostics.

  • Run the new conversion action as secondary initially.

  • Avoid combining duplicate browser and imported purchase actions.

  • Allow enough data to accumulate.

  • Confirm that values use the correct currency units.

  • Review campaign-level sales quality.

This aligns with our broader approach to making Google Ads AI work with better business data. Automation is only as useful as the objectives and data supplied to it.

Implementation Best Practices

Capture identifiers before payment

Do not wait until Stripe confirms the payment. Capture the GCLID and customer data on the first website visit, form submission or account creation.

Preserve first-touch and latest-touch data

Store the original acquisition information separately from the customer’s latest visit. Overwriting the original GCLID with a later direct visit can damage attribution.

Pass a unique order ID

Use a stable Stripe or internal transaction identifier. Never use the same static value for every conversion.

Send actual conversion time

Use the time the commercial event occurred, not simply the time the automation happened to run.

Convert Stripe amounts correctly

Check whether the Stripe field contains major currency units or the smallest unit. An incorrect conversion can exaggerate reported revenue by 100 times.

Distinguish gross revenue from business value

For ecommerce, gross revenue may be appropriate. For service businesses or marketplaces, gross profit, commission or contribution margin may be a better bidding value.

Avoid reporting duplicate payment events

Do not send Checkout Session Completed, PaymentIntent Succeeded and Charge Succeeded as three separate purchase conversions for the same order.

Use separate conversion actions deliberately

Possible actions include:

  • Initial subscription started.

  • First payment received.

  • One-off purchase.

  • Sales-qualified lead.

  • Customer acquired.

  • Recurring revenue.

  • High-margin sale.

Only the actions that should influence bidding should be primary.

Respect privacy and consent requirements

Customer information must be collected, processed and transferred lawfully. Configure Consent Mode where appropriate, populate Google’s consent fields and ensure your privacy notices cover the processing.

Hashing is a security measure; it is not a substitute for consent or another appropriate legal basis.

Monitor the complete workflow

Check:

  • Stripe event logs.

  • Zapier or Make run history.

  • Webhook delivery status.

  • Google Ads offline-data diagnostics.

  • Match quality.

  • Conversion action status.

  • Duplicate order errors.

  • Conversion value and currency.

  • Differences between Stripe and Google Ads.

Google Ads should not match every Stripe transaction because not every customer originated from Google Ads. A lower Google Ads total than the Stripe total is therefore normal.

Common Stripe Google Ads Tracking Mistakes

Assuming email alone guarantees attribution

An email address can support enhanced conversion matching, but the customer may use a different email for Stripe and Google. Consent, formatting and tag configuration also affect matching.

Preserve the GCLID as well whenever possible.

Treating the Stripe order ID as the advertising match

The order ID identifies the sale. It does not normally reveal which advert generated it.

Triggering on payment creation instead of payment success

Invoices, subscriptions and PaymentIntents can exist without successful payment.

Using the automation timestamp

The conversion timestamp should reflect the payment or commercial event, not the time Zapier or Make processes it.

Uploading pence as pounds

A Stripe amount of 1080 may mean £10.80. Sending it as £1,080 would corrupt ROAS and automated bidding.

Reporting every subscription invoice as a new customer

Recurring revenue and customer acquisition are different measurements.

Adding Stripe customers to an audience instead of reporting conversions

Customer Match lists do not replace conversion tracking.

Ignoring refunds

Gross sales without refunds can cause Google Ads to optimise towards customers who later cancel or charge back.

Optimising immediately

Validate the new conversion action before making it primary or changing the bidding strategy.

Frequently Asked Questions

Can Stripe integrate directly with Google Ads?

Stripe does not automatically attribute its payments to Google Ads campaigns. The systems can be connected using a website tag, Zapier, Make, Tracklution, Google Data Manager, server-side GTM or a custom API implementation.

Does Google match a Stripe payment using the customer’s email address?

It can use a properly normalised and hashed email address as part of enhanced conversion matching. This requires the appropriate Google Ads configuration, customer-data processing and consent.

Email should ideally supplement rather than replace click identifiers.

Does Google use the Stripe order ID to find the advert?

Usually not. The order ID identifies the conversion for deduplication and adjustments. Attribution generally comes from a GCLID, GBRAID, WBRAID, website cookie or hashed customer information.

Where should the GCLID be stored?

It can be stored in a first-party cookie, hidden form field, CRM contact, opportunity, database record or Stripe metadata.

The important requirement is that it remains connected with the customer until payment occurs.

Which Stripe ID should be sent as the Google order ID?

For one-off Checkout purchases, the Checkout Session ID or PaymentIntent ID can work. For paid subscription invoices, the Invoice ID may be more appropriate.

Choose one stable identifier and use it consistently.

Can Zapier obtain a GCLID from Stripe automatically?

Only if the GCLID was previously passed into Stripe or can be retrieved from a related CRM or database record. Stripe cannot reconstruct an advertising click ID that it never received.

Is Make better than Zapier?

Zapier is generally quicker for a straightforward native offline-conversion workflow. Make provides more control over lookups, transformations, branching, webhooks and APIs.

The better option depends on the complexity of the customer journey rather than the platform alone.

Is Tracklution better than Zapier?

Tracklution is designed as a managed server-side tracking platform, while Zapier is a general automation tool. Tracklution may be more suitable when first-party attribution collection and multi-platform server-side delivery are required.

Zapier may be sufficient when the business already stores its Google attribution data correctly.

Should GA4 purchases be imported into Google Ads as well?

Avoid creating duplicate primary purchase conversions from several sources without a documented deduplication strategy.

For bidding, we generally prefer a correctly implemented Google Ads purchase conversion supplemented with authoritative backend revenue data rather than relying solely on GA4 imports.

Can Stripe revenue be used with Target ROAS?

Yes, provided Google Ads receives accurate transaction-specific values and sufficient conversion volume. The conversion action must also be included in the campaign’s bidding goals.

Learn more about how campaign type, conversion volume and objectives interact in our Google Ads campaign guide.

Final Thoughts

Connecting Stripe to Google Ads can transform campaign measurement—but only when the integration answers two separate questions:

  • Which advertising interaction acquired the customer?

  • Which unique Stripe transaction represents the resulting value?

GCLID, GBRAID, WBRAID and hashed customer data help answer the first question. Stripe Checkout Session IDs, PaymentIntent IDs, Invoice IDs and internal order numbers answer the second.

Zapier provides an accessible starting point. Make offers greater workflow flexibility. Tracklution packages first-party and server-side tracking into a managed platform. Data Manager, APIs and server-side GTM provide more control for advanced implementations.

The best solution is not necessarily the most technically sophisticated. It is the one that reliably preserves attribution, reports genuine business value, prevents duplicate conversions and gives Google Ads a clean feedback loop.

When those foundations are correct, Google Ads can move beyond optimising for inexpensive leads and begin learning which campaigns generate real customers and revenue—the outcome that ultimately determines Google Ads success.

Related Blog Posts