stocky-forest-39917
09/30/2025, 8:15 PMwindow.growthbook_config.enableDevMode = false;
window.growthbook_config.disableDevTools = true;
Just before our script
<script async
data-client-key="<%= process.env.GROWTHBOOK_CLIENT_KEY %>"
src="<https://cdn.jsdelivr.net/npm/@growthbook/growthbook/dist/bundles/auto.min.js>"
></script>
but it doesn't seem to do anything, still can access the dev tools extension, view & change values. Any ideas what we do wrong ?
Thank you for help! 🙂refined-musician-86340
09/30/2025, 9:51 PMassignmentQueryId="user_id",
trackingKey="example_experiment_trackingKey",
name="example-experiment",
project="my-project-id",
variations=[variation1, variation2],
owner="test-user@test.com"
However, I am now getting a message when I submit the request of the following: {"message":"Unknown metric: string"}
since my default metric value is just "string". Based on the API Docs it doesn't looks like metrics is a required value. However, when I set metrics = None
and pass that in the request body I get {"message":"Request body: [metrics] Expected array, received null"}
Is there a default value I can pass for metrics, (and other), fields that will let me create a minimum experiment and is there a list of all fields that need to have valid data passed in as it seems that some fields which are not marked as required in the docs do require valid input. Thank you!
If there is a better question for a different channel I am happy to post there, just let me know.nice-memory-78462
10/01/2025, 7:00 AMfalse
, and the feature list is empty. However, if we check the API directly from the GrowthBook dashboard, we can see that the features are available, and the feature flag FF
should return true
.
Here’s the snippet of our code:
routes.get('/test-ff', authMiddleware.closedAuth, async (req: any, res) => {
const gb = new GrowthBook({
apiHost: process.env.GROWTHBOOK_API_HOST,
clientKey: process.env.GROWTHBOOK_CLIENT_KEY,
enableDevMode: true,
subscribeToChanges: true,
attributes: {
id: '123',
country: 'US',
},
trackingCallback: (experiment: any, result: any) => {
console.log('Experiment Viewed', {
experimentId: experiment.key,
variationId: result.key,
});
},
});
try {
await gb.init();
} catch (error) {
console.log('Error', error);
}
if (gb.isOn('FF')) {
res.send('Feature is enabled!');
} else {
res.send('Feature is disabled');
}
});
Do we need additional configuration for self-hosted GrowthBook in order for the SDK to fetch the features? Or is there something we might have missed
here response from api (SDK Connection) on dashboard
{
"status": 200,
"features": {
"FF": {
"defaultValue": true
}
},
"experiments": [],
"dateUpdated": "2025-10-01T07:14:23.643Z"
}
hundreds-stone-43870
10/01/2025, 8:08 AMMultiple Exposures Warning. 114 users (14,82 %) saw multiple variations and were automatically removed from results. Check for bugs in your implementation, event tracking, or data pipeline.My question is: How can GrowthBook determined that my users are seeing two versions of my AB-test ?
magnificent-umbrella-30985
10/01/2025, 2:33 PMastonishing-salesmen-20483
10/01/2025, 4:06 PMplain-cat-20969
10/01/2025, 11:23 PMjolly-doctor-34097
10/02/2025, 7:13 AMtrackingCallback
get called two times? First, when the server prerenders the page, and then on the client side?
2. How is the server supposed to set the attributes
when it initialize the Growthbook instance inside the MyPage
component? I mean, in the example you clearly show that you set the id
property by reading it from the cookies (i.e., Cookies.get('my_uuid')
), but when the server prerenders the page doesn't have access to cookies, at least inside the render function. Doesn't this involve a mismatching attribution between client and server, causing hydration errors?
Thanks in advance 🙏green-fall-98011
10/02/2025, 8:08 AMplain-cat-20969
10/02/2025, 4:02 PMbusy-psychiatrist-5181
10/06/2025, 9:13 AMclever-hair-5481
10/06/2025, 4:19 PMastonishing-napkin-82186
10/07/2025, 10:12 AMgentle-coat-88600
10/07/2025, 10:43 AMdry-ambulance-7044
10/07/2025, 1:19 PMmany-jackal-19590
10/08/2025, 5:57 AMacoustic-rose-32316
10/08/2025, 10:36 AMquiet-librarian-1778
10/08/2025, 6:00 PMacceptable-king-82846
10/08/2025, 9:22 PMmysterious-musician-41682
10/09/2025, 3:08 AMmysterious-musician-41682
10/09/2025, 3:08 AMmysterious-musician-41682
10/09/2025, 3:10 AMbrave-table-64412
10/09/2025, 12:52 PMhappy-camera-75490
10/10/2025, 10:59 AMrapid-camera-94597
10/12/2025, 5:58 PM<http://partner.com/blog/*|partner.com/blog/*>
)? This is a critical security requirement to ensure our rules can only affect a designated part of their website.
2. Separation of Concerns (Critical): Our operational model requires a clear separation of duties. The partner's developers are responsible for the one-time technical integration, while our team manages the ongoing campaign strategy. Therefore, the platform must ensure that our campaign rules, targeting logic, and destination URLs are managed exclusively through your dashboard and are not visible or configurable within the partner's backend code.
3. Server-Side Execution: The entire process must be server-side to avoid any client-side "flicker effect." Client-side JavaScript-based redirects are not a viable solution for us.
4. Primary Use Case (Rule-Based Redirect): We need to route traffic from a single starting URL to various destination landing pages based on URL query parameters. For example:
◦ A user visiting <http://partner.com/base-url|partner.com/base-url>
(with no specific parameters) sees the default landing page.
◦ A user visiting <http://partner.com/base-url?utm_campaign=campaign_1|partner.com/base-url?utm_campaign=campaign_1>
must be instantly redirected to <http://partner.com/lp1|partner.com/lp1>
.
◦ A user visiting <http://partner.com/base-url?utm_campaign=campaign_2|partner.com/base-url?utm_campaign=campaign_2>
must be instantly redirected to <http://partner.com/lp2|partner.com/lp2>
.
5. Parameter Stripping & Replacement (Critical): When a redirect occurs, we must have full control over the final URL's query parameters. The original trigger parameter (?utm_source=meta
) must be completely stripped, so the end client cannot see our operational logic in their analytics. We must be able to define the final URL to be either a clean URL (<http://client.com/product|client.com/product>
) or one with custom-set parameters (<http://client.com/product?utm_source=partnerblog|client.com/product?utm_source=partnerblog>
).
Our Questions:
1. Can your platform fully support the operational model and all of the core functional requirements listed above?
2. Regarding Requirement #5 (Parameter Stripping), does your platform offer a native feature to manage this server-side, or would this require custom logic to be written by the implementing developers?
3. What are your typical support response times for ongoing technical inquiries (post-implementation) for a customer on your free plan?
This is a key strategic project for us, and the platform we choose will be a long-term partner. We appreciate you taking the time to address these specific points.
Best regards,
Moritzmicroscopic-gigabyte-19983
10/13/2025, 4:03 PMloud-tiger-78437
10/14/2025, 9:58 AMError=2, Details='Response status code does not indicate success: BadRequest (400); ... {"Errors":["The index path corresponding to the specified order-by item is excluded."]} ...'
We’re using a MongoDB instance in Cosmos with these settings:
"EnabledApiTypes": "MongoDB",
"apiProperties": { "serverVersion": "7.0" }
Any idea what might be causing this?little-toothbrush-24705
10/14/2025, 1:10 PMbored-postman-23630
10/14/2025, 2:25 PMnice-shampoo-1738
10/15/2025, 12:02 PM