Hi guys, I'm wondering if someone can point me in ...
# ask-questions
s
Hi guys, I'm wondering if someone can point me in the right direction. We have set up a split URL test, and I need to track metrics like conversion rate, revenue per user, revenue, and a custom click (button click) in my tests. We are using GB's managed warehouse for all the results, but I am not sure how to exactly set up these metrics to track. Do I need to create a rollout thank-you page test? (I don't find this approach correct). Or shall I send a custom conversion event via the SDK? Any guidance on this will be super helpful.
f
Hi Varun 👋 You shouldn’t need to create a separate thank-you page experiment/rollout just to track conversions. Since you’re using the Managed Warehouse, the recommended approach is to send custom events (e.g. conversion, purchase, button click) via the SDK or Ingestion API so they land in the
events
table, then define metrics like conversion rate and revenue per user on top of the prebuilt Events fact table and attach those metrics to your split URL experiment. docs.growthbook.io/app/managed-warehouse#… docs.growthbook.io/app/metrics Your metrics will look something like: • Conversion rate – Proportion metric filtered to
event_name = 'YourConversionEvent'
• Revenue per user – Mean metric using your revenue column (e.g.
amount
) from purchase events. • Total revenue (via numerator) – Mean metric on the same revenue column (e.g.
amount
); the UI will show the total as the numerator for each variation. • Button click – Proportion metric filtered to
event_name = 'Button Click'
(percent of users who clicked at least once).
s
Hi @flaky-noon-11399 thanks for this. Let me give it a shot and see how it goes. I'll get back to you with the outcomes
f
My pleasure to assist 🌻
t
Hi, thanks for the guidance. We've implemented the event tracking site-wide, similar to how the GrowthBook tracking script is initialized, using the GrowthBook SDK (
window._growthbook.logEvent
) with URL-based conditions. •
buy_now_click
,
user_engaged
, and
non_bounce
are tracked on the landing pages only. •
purchase_complete
(including the
revenue
property) is tracked on the thank-you page only. • Purchase events are deduplicated to prevent duplicate tracking on page refresh. We've configured our metrics on top of the Managed Warehouse Events fact table and attached them to the Split URL experiment instead of creating a separate thank-you page experiment or rollout. Could you confirm that this aligns with the recommended implementation for Managed Warehouse? @flaky-noon-11399 Also I’ve one question what if we want to run test on different page do we need to include every page every time? Is there any solution for this? I've used condition like that
const isLandingPage = path.includes("/special-free-gift-offer");
const isThankYouPage = path.includes("thank-you");
f
Hi @thankful-television-69452 good morning. You don’t need to manually include every page every time unless the tracking logic is very page-specific. A cleaner setup is to make the tracking more reusable, for example by using broader URL patterns, shared button selectors, or consistent event names across funnels/pages. Then for each new experiment, you mainly attach the relevant metrics in GrowthBook rather than rewriting the tracking from scratch each time. Your current logic like
path.includes("/special-free-gift-offer")
and
path.includes("thank-you")
is fine for this funnel, but if you plan to run lots of similar funnel tests, I’d recommend making those conditions more generic so the same tracking can work across multiple landing pages and thank-you pages.
t
Thank you @flaky-noon-11399
f
My pleasure to assist 🌻
t
Hi @flaky-noon-11399, We’ve implemented event tracking using the SDK as suggested, and it’s working as expected in the staging environment. However, we’re not receiving checkout data in production. Since we don’t have access to complete a production checkout ourselves, we asked the client to test it. The client confirmed that they completed a checkout, but the event is still not being recorded. Could you please help us identify what might be causing this issue? Thank you!
s
@flaky-noon-11399 any guidance here will be very helpful.
Hi @flaky-noon-11399 could you please guide us here? What we might be missing from the setup?
f
Hi @square-state-87588, glad to hear it’s working in staging. If
purchase_complete
is missing only in production, I’d first check whether the event is reaching Managed Warehouse at all. You can do this from Metrics and Data → Data Sources → Managed Warehouse → SQL Explorer with a query like:
Copy code
SELECT event_name, COUNT(*)
FROM events
WHERE timestamp >= now() - INTERVAL 1 HOUR
GROUP BY event_name
ORDER BY COUNT(*) DESC;
If
purchase_complete
does not appear there after a production test checkout, the issue is likely with the production tracking path rather than the metric setup. The main things to check are: • Production is using the correct SDK connection / client key • The GrowthBook SDK or GTM tag is actually loading on the production thank-you page • The production thank-you page URL matches your condition, e.g.
path.includes("thank-you")
•
window._growthbook.logEvent(...)
is being called on that page • There are no console or network errors when the checkout completes
t
Hi @flaky-noon-11399, Thank you for your guidance. As per your suggestion, I ran the SQL query and confirmed that the
purchase_complete
data is present. However, I’m still unable to see this data in the Experiment Results panel. Could you please let me know if I’m missing any additional configuration?
Image from iOS.jpg
f
For the affected experiment, please can you copy the SQL of the query found under experiment results tab > 3 dot menu > view queries > copy the query and run it in the SQL explorer > does data render? If not, can you try relaxing the filtering until data renders?
t
@flaky-noon-11399 i can see two queries and run it on sql explorer Here is what i am getting.
Hi @flaky-noon-11399 We’re a bit confused at this point. We’ve done our best to set everything up according to the documentation and recommendations, but we’re still not receiving the expected data. Would it be possible to have a quick call whenever you’re available? We believe it would help us identify what we’re missing. We’ve already spent a significant amount of time implementing and troubleshooting this setup, so your guidance would be greatly appreciated. Thank you!
f
Hi @thankful-television-69452, I completely understand — I know it can be frustrating when you’ve spent time implementing and testing but the production data still isn’t coming through as expected. For Starter/free plan accounts, we’re not able to offer live troubleshooting calls, but I’m very happy to keep helping async here and review the setup based on the details you share. That being said, as the event appears in SQL Explorer but not in experiment results, the issue is likely no longer ingestion. It’s more likely one of these: • The
purchase_complete
event is missing the same user/session identifier used for the experiment exposure • The purchase event is outside the experiment conversion window • The metric filter/revenue field does not exactly match the event payload • The metric is not attached to the experiment, or results have not refreshed since the event arrived • The production checkout event is being sent, but not from users who were exposed to the split URL experiment Could you check one of the
purchase_complete
rows and confirm it includes the same identifier as the experiment exposure event, plus the revenue property expected by the metric?
The next useful check would be to query
experiment_viewed
and
purchase_complete
for the same test user/order and confirm both events exist with the same identifier. If they do, then we can look at the metric definition/conversion window; if they don’t, then the issue is the join between exposure and purchase rather than the event being missing.
I have niggling feeling this is identifier related
s
@flaky-noon-11399 thanks for all the help. I believe we found out what was the issue. After the checkout page there is an upsell page that loads. And then after that there is a thank you page. We were initially trying to get the purchase event at thank you page but when we changed it to upsell page it started triggering. Now the question in front of us is how to fetch the revenue data. Because Upsell page doesn't have any revenue data as such. What would you suggest our approach should be?
f
Hi @square-state-87588, glad you found the issue — that makes sense if the user lands on the upsell page before the thank-you page. For revenue, I wouldn’t rely on the upsell page unless that page actually has access to the order/revenue data. The cleaner approach would be to send the revenue event from wherever the order is confirmed and the revenue amount is available, ideally server-side/backend or via your ecommerce/order system. So you could keep the upsell page event as a conversion-style event if it confirms the user completed checkout, but send a separate
purchase_complete
or
purchase_revenue
event with
order_id
,
revenue
,
currency
, and the same GrowthBook user/session identifier used for the experiment exposure. The key things are: • use the same identifier as the experiment exposure • include the revenue amount and currency • include an
order_id
so the event can be deduplicated • make sure the event timestamp falls after the experiment exposure and within the metric conversion window If the revenue is only available after the backend confirms the purchase, I’d recommend sending it from the backend/Ingestion API rather than trying to scrape it from the upsell or thank-you page.
t
Hi @flaky-noon-11399, Thank you for your reply and guidance. I'll check this approach on our end and keep you updated.
f
Hi @thankful-television-69452, my pleasure to assist. Looking forward to your update 🌻