Two Google connections, two routes
Google Ads and Google Analytics 4 are connected separately in WeProfit. Google Ads gets purchases straight from WeProfit’s server, uploaded through Google’s Data Manager API with the ad click ID and the buyer’s hashed email or phone. Google Analytics 4 gets store events through Measurement Protocol for your analytics reports.
Importing Google Analytics 4 key events into Google Ads as conversions still works, but it is no longer the only way to get WeProfit’s purchases into Google Ads. If you use both routes, keep only one of them as a primary purchase action, or Google Ads can count each sale twice.
| Connection | How you connect | What WeProfit sends |
|---|---|---|
| Google Ads | Connect with Google, then pick up to 10 Google Ads accounts per store | Purchases, uploaded through the Data Manager API into WeProfit’s conversion actions; page and product views for remarketing go through the Google Ads tag WeProfit loads on your store |
| Google Analytics 4 | Sign in with Google and choose a property and web data stream, or enter the Measurement ID and API secret | Store events through Measurement Protocol; which ones depends on who adds the Google Analytics 4 tag |
Connect Google Ads with Google sign-in
Google Ads connects through Google’s sign-in, not a form. WeProfit sets up its conversion actions in each account you pick. Importing Google Ads spend stays a separate connection. Google sign-in needs a WeProfit login: if you open WeProfit from your Shopify admin without logging in, the Google Ads page is not shown until you log in.
- In WeProfit, open Ad Networks > Google Ads and select Connect with Google. Sign in with the Google account that runs your ads and allow every permission on Google’s screen.
- Tick each Google Ads account your ads run in, up to 10 per store. A manager account cannot receive conversions, so pick its client accounts. To add accounts that another Google account can access, select Connect another Google account.
- WeProfit creates a Purchase - WeProfit conversion action in each account. On Shopify stores it also creates three secondary actions: New Customer Purchase - WeProfit, Returning Customer Purchase - WeProfit and View Item List - WeProfit, for collection page views.
- Purchase - WeProfit starts as a primary action only when the account has no other primary purchase action. Otherwise it starts as secondary, and you can make it primary in WeProfit when you want Google Ads to bid on it.
- In Google Ads, open Goals > Settings, turn on enhanced conversions and accept the customer data terms. Purchases without a click ID can match by email or phone only once both are on, and until then Google Ads may refuse some uploads. Keep auto-tagging on as well, so each ad click gets a click ID.
What WeProfit uploads to Google Ads, and when
Each purchase goes from WeProfit’s server to every connected Google Ads account, with the order ID, value and currency, the ad click ID (gclid, gbraid or wbraid) and the buyer’s hashed email or phone when they are available. Google counts a click only in the account whose ad was clicked. If ads from two of your accounts reached the same shopper, each account can count that sale. WeProfit also loads the Google Ads tag of your connected accounts on your store: it sends page views and product views for remarketing and, on Shopify collection pages, collection views and the View Item List - WeProfit conversion.
Uploads wait until about 6 hours after the ad click, as Google asks. A newly created conversion action receives uploads from 6 hours after its creation. Google Ads usually shows the first purchases 24 to 48 hours after the first upload; until then, it can show the action as awaiting conversions.
Only orders placed after you connect an account are uploaded: WeProfit does not send older orders. The delivery log shows each upload with Google’s answer, such as accepted, not from a Google ad, or already uploaded. Not from a Google ad is normal for a buyer who did not click an ad of that account.
Connect Google Analytics 4 with Google sign-in or by hand
Sign in with Google lets you choose the Google Analytics 4 property and its web data stream; you need the Editor or Administrator role on the property. After you accept Google’s user data collection acknowledgement, WeProfit creates the Measurement Protocol API secret for you. Like Google Ads, Sign in with Google needs a WeProfit login. Entering the Measurement ID and API secret by hand still works, also when you open WeProfit from your Shopify admin without logging in.
- In WeProfit, open Ad Networks > Google Analytics 4 and select Sign in with Google. Choose the property and its web data stream.
- Choose whether WeProfit adds the Google Analytics 4 tag or you keep your own tag. If WeProfit adds it, WeProfit loads the tag on your store: page views and product views go from the browser, and carts, checkouts, purchases, refunds, leads and sign-ups go from WeProfit’s server. Choose this only after you turn off every other Google Analytics 4 tag for that property, or Google Analytics counts visits twice.
- If you keep your own tag, it keeps sending what it sends today, and WeProfit’s server adds purchases, refunds, leads, sign-ups and your custom events. Choose the order identifier your tag reports, order ID or order number, so Google Analytics counts each sale once.
- Tick Google’s confirmation and connect. To connect by hand instead, copy the Measurement ID (it starts with G-) from the web data stream under Admin in Google Analytics 4, create a Measurement Protocol API secret for that stream and enter both in WeProfit.
- Select Send test to check the payload format; Google’s validation does not check the API secret, and test requests do not enter reports. Then generate an ordinary store event and confirm it arrives in the intended property, with the transaction ID, value and currency for a purchase.
Purchase check, property access and Search Console
After you sign in with Google, the Google Analytics 4 page in WeProfit shows three cards. The first card puts the purchases the property recorded in the last 7 days next to the orders WeProfit saw, with their revenue and the share of your orders found in Google Analytics. Google Analytics can take up to 48 hours to show a purchase.
The second card shows the Google account you signed in with and whether it can edit the property, which WeProfit needs to create the API secret. The third, Search Console, lists the top Google searches that showed your store in the last 28 days, with clicks, impressions, CTR and position, when a Search Console property matches your store’s domain. Its data arrives about 2 days late.
Count each purchase once in Google Ads
Google Ads bids on primary conversion actions. If Purchase - WeProfit and another purchase action are both primary, for example one created by another app or plugin, a Google Ads tag in your theme or a Google Analytics 4 key event imported into Google Ads, Google Ads can count the same sale twice. WeProfit lists the other primary purchase actions and switches the ones you tick to secondary.
Importing Google Analytics 4 key events into Google Ads remains an option. If Purchase - WeProfit is primary, keep the imported purchases secondary: secondary actions are reported but not used for bidding. WeProfit’s own actions for new customers, returning customers and collection page views are secondary for the same reason.
In Google Analytics 4, purchases carry the order ID as transaction_id, or the order number when your own tag reports that. Do not assume another integration uses the same identifier: a successful test cannot show that independent senders deduplicate.
Read Google Analytics 4 and Google Ads in context
The same purchase may appear differently across store reporting, Google Analytics 4, and Google Ads because the reports answer different attribution questions. Compare aligned date ranges and investigate individual events when there is a discrepancy.
WeProfit also imports Google Ads spend for its own reports. Spend import is a separate, read-only connection: connecting it does not upload purchases, and connecting Google Ads conversions does not import spend.
Find the broken checkpoint before changing your setup
| Observation | Next check |
|---|---|
| Google Ads shows no WeProfit purchases yet | Allow about 6 hours after the ad click for the upload and 24 to 48 hours after the first upload for reporting. Check the delivery log for waiting uploads and Google’s answer to each one. |
| Uploads are refused, or few purchases match | Check that auto-tagging is on in Google Ads, so each ad click gets a click ID. Turn on enhanced conversions and accept the customer data terms in Google Ads. If Purchase - WeProfit was removed in Google Ads, select Set up again in WeProfit. |
| Send test passes, but Google Analytics 4 has no purchase | Verify the real Measurement ID and API secret, enabled state, event eligibility and a normal production event. The validation test is not a reporting event. |
| Google Analytics 4 receives purchases, but the conversion imported into Google Ads stays empty | Check property linking, the selected key event, the imported conversion action and reporting delays. |
| A received event lacks campaign attribution | Review browser collection for Google Analytics 4, client/session identifiers, auto-tagging and available click context. |
| Purchase counts rise after adding another integration | Compare transaction IDs and overlapping browser/server senders, then review which Google Ads purchase actions are primary. |
How common store events map to Google Analytics 4
When WeProfit adds the Google Analytics 4 tag, the browser sends page views and product views and WeProfit’s server sends the other events; when the tag cannot send a page view or product view, the server sends it instead. When you keep your own tag, the server sends only purchases, refunds, leads, sign-ups and custom events. From WeProfit’s server, Google Ads receives only purchases.
| Store event | Google Analytics 4 event |
|---|---|
| Page view | page_view |
| Product or content view | view_item |
| Add to cart | add_to_cart |
| Checkout started | begin_checkout |
| Purchase | purchase |
| Refund | refund |
| Lead | generate_lead |
| Sign up | sign_up |