Krishti Bikal
08/19/2026, 11:16 PMkapa.ai
08/19/2026, 11:16 PMDashboard component, you can:
1. Read the client's feature flags from your configuration store (e.g., your Campaign_Flag, Market_Flag columns).
2. Conditionally render the campaign-related filter/selector component only when the flag is enabled.
// Example: Conditionally render a campaign filter selector
const MyEmbeddedDashboard = ({ sellerConfig }) => {
return (
<div>
{sellerConfig.Campaign_Flag === 'Y' && (
<CampaignFilterSelector /> // Your custom selector component
)}
{sellerConfig.Market_Flag === 'Y' && (
<MarketFilterSelector />
)}
<Dashboard dashboard="your-dashboard-id" />
</div>
);
};
If the selectors are GoodData's native dashboard filters, you can use the ?hidefilters=filterId URL parameter (for iframe embeds) to hide specific attribute filters. [Configuration Options]
2. Conditionally Show/Hide Tabs The knowledge sources do not explicitly document a native GoodData feature for showing/hiding dashboard tabs based on client config. The recommended approach here would again be:
• Build custom tab navigation in your React app rather than relying on GoodData's native tab UI.
• Based on the seller's feature flags, render only the tabs/sections that are relevant.
• Each tab can load a different Dashboard component or InsightView component conditionally.
const MyTabbedDashboard = ({ sellerConfig }) => {
const tabs = [
{ label: 'Overview', dashboardId: 'overview-id', always: true },
{ label: 'Campaign', dashboardId: 'campaign-id', flag: sellerConfig.Campaign_Flag },
{ label: 'Market', dashboardId: 'market-id', flag: sellerConfig.Market_Flag },
];
const visibleTabs = tabs.filter(tab => tab.always || tab.flag === 'Y');
return (
<div>
{/* Render only visible tabs */}
{visibleTabs.map(tab => (
<TabButton key={tab.label} label={tab.label} />
))}
{/* Render active tab's dashboard */}
</div>
);
};
3. Fetching Feature Flags at Runtime Since your config table is in your data source, you can:
• Expose the seller's feature flags via your backend API at login/session time.
• Pass them as props into your React components to drive conditional rendering.
Summary The React SDK conditional rendering approach is the most scalable and recommended path for your use case, as GoodData does not natively support hiding individual UI elements (selectors, tabs) based on data-driven feature flags. [Community Slack] 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups.
👀 Our Support team monitors all messages and will jump in if needed., with interactive elementsJulius Kos
08/19/2026, 11:59 PM?hidefilters= only applies to iframe embedding — it's a URL parameter of the embedded dashboard route, not something the React SDK Dashboard component picks up. So if you're on the SDK, please ignore that part.
2. The SDK equivalent, if you ever need to hide a native dashboard filter rather than your own selector, is DashboardAttributeFilterComponentProvider combined with HiddenDashboardAttributeFilter — you decide per filter which component to return, which is where your feature flag could plug in. Two caveats: both are marked alpha in our API docs (not recommended for production yet), and hiding a filter does not disable it — the filter still applies, it's just not visible. So it's a UI control, not a data-access control; for restricting what a client can actually see, UDF/WDF is the right tool.
For your case (campaign selector + tabs) the conditional-rendering approach in your own React layer is still what we'd suggest starting with.