Vercel's Flags SDK and the GB provider built for it are, by design, backend-only. Our Flags SDK adapter always evaluates flags and experiments on the backend and can either fire tracking on the back-end or SSR inject a bit of front-end tracking code for the browser to fire as deferred tracking calls. You can see how this is configured in our
docs (which reference this
example Next.js app)
If you want to evaluate flags and experiments on the front-end, then the React SDK is generally the best way to achieve this. If you've created a clear boundary between client and server components and only invokes the React SDK on the client side, then you should never see "Error: autoAttributesPlugin only works in the browser" in your server logs. In fact, you should never see server logs at all for the client side SDK. Is it possible you're using the SDK in a hybrid context somehow?