witty-carpet-85180
08/20/2025, 2:50 PMproud-jordan-78497
08/21/2025, 3:30 PMwooden-oyster-59381
08/21/2025, 6:07 PMwooden-oyster-59381
08/21/2025, 6:09 PMripe-dinner-7830
08/22/2025, 6:58 AMambitious-journalist-94494
08/23/2025, 1:45 PMCDN usage exceeded" + cannot upgrade (UI says highest plan)
— need to ensure experiments stay unaffected
We have live experiments—can you confirm no impact to config delivery/assignment and temporarily lift/reset/extend our enterprise trial through the weekend if there is any impact. Screenshots attachedplain-cat-20969
08/26/2025, 5:57 PMbillions-house-96196
08/27/2025, 10:27 PM<https://api.growthbook.io/api/v1/experiments/{id}/snapshot>
endpoint to accept dimension
and phase
parameters? I noticed the api used by the cloud interface accepts them but I get a 400 "Request body: [] Unrecognized key(s) in object: 'phase', 'dimension'" when I try.powerful-terabyte-58378
08/28/2025, 8:02 AMgrowthbook==1.3.1
) with GrowthBookClient
and client.initialize()
, I get an "Unknown feature" warning when evaluating a feature that’s defined in the dashboard but disabled in all environments.
• Is this the expected behavior?
• Or does it suggest the SDK isn’t updating feature definitions properly?
Notably, value changes (e.g. true
→ false
) are reflected fine, but when a feature is disabled, it seems to stop updating in the SDK’s cache.
Would appreciate any clarification!
Thanks!rough-businessperson-52903
08/28/2025, 9:39 AMexperimentAssigned
• a user should be "activated" for the experiment meaning only from this point on they should be considered for it, and not from the start (this is because some of our experiments are assigned Server side and for other reasons). This is experimentViewed
Now, our Experiment assignment table exposes all the fields as required and it's working fine. We've then added a very simple metric for the experimentViewed
which will expose the user_id
and timestamp
. But the experimentViewed
metric does not seem to be precise enough for the analysis to work. Take the following example:
• User is assigned to Experiment A - variant 1 and Experiment B - control
• This creates 2 distinct experiment assignment entries which share the same timestamp
• Let's say that they navigate to a part of the UI where the experimentViewed
is triggered for Experiment A (experiment B is triggered in another place of the UI)
• If i use the experimentViewed
metric in my analysis of Experiment B, the user with that given user_id will be included because the event was triggered, but not for the right experiment_id
Is there a way to specify the right experiment_id in the Activation metric exposed fields for this to work? Or am i doing this the wrong way? Thanks!fancy-tent-27692
08/29/2025, 8:59 AMcold-nightfall-57392
08/29/2025, 12:25 PMhundreds-student-36571
08/29/2025, 4:13 PMexport const gbInstance = new GrowthBook({
apiHost: import.meta.env.VUE_APP_GROWTHBOOK_API_HOST,
clientKey: import.meta.env.VUE_APP_GROWTHBOOK_CLIENT_KEY,
enableDevMode: !isProduction(),
plugins: [autoAttributesPlugin()],
trackingCallback: (experiment, result) => {
$analytics.track({
event_type: 'Experiment Viewed',
event_properties: {
experimentId: experiment.key,
variationId: result.key
}
});
console.log(`key-${experiment.key} result-${result.key}`);
}
});
const initializeGrowthBook = async () => {
try {
if ($analytics) {
gbInstance.updateAttributes({
id: $analytics.amplitude.getUserId(),
deviceId: $analytics.amplitude.getDeviceId()
});
}
await gbInstance.init({ streaming: true });
gbFlags.initialize(gbInstance);
return gbInstance;
} catch (e) {
return null;
}
};
I’m implementing it like this, and in the plugins I specify autoAttributesPlugin()
. That generates attributes for targeting (one of them is id
).
When setting up an experiment in the admin panel, you can assign it based on anonymous_id
or user_id
. How is this id
connected with user_id
or anonymous_id
? Or do I need to explicitly set user_id
and anonymous_id
when initializing?
If so, how should this be connected with Amplitude, since it has both user_id
and device_id
?acceptable-king-82846
08/29/2025, 8:06 PMthankful-electrician-62846
08/31/2025, 7:08 AMaloof-spoon-38786
09/02/2025, 9:26 AMcurved-monitor-80504
09/02/2025, 2:10 PMaverage-sunset-50460
09/03/2025, 3:00 AMwide-cartoon-5349
09/03/2025, 5:12 PMthousands-holiday-24345
09/03/2025, 7:27 PMbusy-window-96391
09/04/2025, 10:07 AMstocky-zoo-87795
09/04/2025, 11:15 AMfresh-dress-74250
09/04/2025, 3:14 PMwide-cartoon-5349
09/05/2025, 4:17 PMwide-cartoon-5349
09/09/2025, 4:16 PMSELECT
user_pseudo_id as anonymous_id,
TIMESTAMP_MICROS(event_timestamp) as timestamp,
experiment_id_param.value.string_value AS experiment_id,
variation_id_param.value.int_value AS variation_id,
geo.country as country,
traffic_source.source as source,
traffic_source.medium as medium,
device.category as device,
device.web_info.browser as browser,
device.operating_system as os
FROM
`learning-heroes-bq`.`analytics_372696867`.`events_*`,
UNNEST(event_params) AS experiment_id_param,
UNNEST(event_params) AS variation_id_param
WHERE
((_TABLE_SUFFIX BETWEEN '{{date startDateISO "yyyyMMdd"}}' AND '{{date endDateISO "yyyyMMdd"}}') OR
(_TABLE_SUFFIX BETWEEN 'intraday_{{date startDateISO "yyyyMMdd"}}' AND 'intraday_{{date endDateISO "yyyyMMdd"}}'))
AND event_name = 'experiment_viewed'
AND experiment_id_param.key = 'experiment_id'
AND variation_id_param.key = 'variation_id'
damp-knife-97320
09/10/2025, 1:02 AMlittle-balloon-64875
09/10/2025, 5:36 AM@growthbook/growthbook
Node SDK alongside Segment to make a node call when the middleware loads. It fetches or creates an ID (at this point matching with Segment's anonymous ID), then sets up Growthbook, gets the features/experiments, and then performs the redirect. However I'm only getting about half of the traffic redirecting to the other URL. Code in 🧵shy-addition-32319
09/10/2025, 9:06 AMnutritious-match-31698
09/10/2025, 12:37 PMSDK Connection
and my code currently looks like that:
import { growthbookAdapter } from "@flags-sdk/growthbook";
import type { Identify } from "flags";
import { flag } from "flags/next";
growthbookAdapter.setTrackingCallback(async (experiment, result) => {
console.log("Viewed Experiment", {
experimentId: experiment.key,
variationId: result.key,
});
});
type UserAttributes = {
id: string;
};
export const identify = (() => {
return { id: "abc" };
}) satisfies Identify<UserAttributes>;
export const testFlag = flag<boolean>({
key: "test_feature",
adapter: growthbookAdapter.feature<boolean>(),
identify,
});
export const stringTestFeature = flag<string>({
key: "string_test_feature",
adapter: growthbookAdapter.feature<string>(),
identify,
});
My issue is that whenever I change the value for any of my flags, the SDK returns old value until I restart my local server. Is it only because locally it's a long running server and the issue is not gonna be present when deployed to Vercel, or do I have to perform some additional steps in order to enforce refetching the data from Growthbook?
Thanks upfront!acoustic-actor-75733
09/10/2025, 1:07 PM