<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/unlocking-dynamic-experiences-with-client-side-custom-signals-conditions-in-firebase-remote-config-jceaulxnc" -->

---
title: Unlocking Dynamic Experiences with Client-Side custom...
description: Firebase Remote Config now supports client-side custom signal conditions, letting developers define their own signals (beyond the predefined set) to...
canonical: https://daily.dev/posts/unlocking-dynamic-experiences-with-client-side-custom-signals-conditions-in-firebase-remote-config-jceaulxnc
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Unlocking Dynamic Experiences with Client-Side custom signals conditions in Firebase Remote Config | daily.dev
og:description: Firebase Remote Config now supports client-side custom signal conditions, letting developers define their own signals (beyond the predefined set) to...
og:url: https://daily.dev/posts/unlocking-dynamic-experiences-with-client-side-custom-signals-conditions-in-firebase-remote-config-jceaulxnc
og:image: https://api.daily.dev/og/posts/jCeAulXNC.png
og:image:alt: Unlocking Dynamic Experiences with Client-Side custom signals conditions in Firebase Remote Config
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Unlocking Dynamic Experiences with Client-Side custom signals conditions in Firebase Remote Config

**[Firebase](https://daily.dev/sources/firebase-blog)** · 6 min read · 0 upvotes · 0 comments

## Summary

Firebase Remote Config now supports client-side custom signal conditions, letting developers define their own signals (beyond the predefined set) to personalize app experiences without shipping app updates. The post walks through a game example that adjusts difficulty based on a custom 'player_retries' signal, showing how to set custom signals in code, listen for config updates, and retrieve the updated parameter. It also covers when to use client-side custom signals versus server-side Remote Config or Google Analytics integration, plus best practices and limits on the number of custom signals allowed.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://firebase.blog/posts/2025/09/remote-config-custom-signals>

## Questions this post answers

### How do I use custom client-side signals with Firebase Remote Config to personalize app behavior?

Firebase Remote Config now supports client-side custom signal conditions, letting you define your own signal parameters (like player_retries) instead of relying only on predefined signals. You call setCustomSignals with a CustomSignals.Builder to update a signal, define a condition in the console (e.g. player_retries >= 3), then set a Remote Config parameter value tied to that condition, and read it via a ConfigUpdateListener.

_Developers rolling out dynamic app behavior can track Firebase Remote Config changes like this on daily.dev._

### When should I use client-side custom signals versus server-side Remote Config in Firebase?

Client-side custom signals are best for quick, lightweight configuration changes based on client-observed behavior, especially if you are not using Google Analytics or use a different analytics tool. Server-side Remote Config is recommended instead for sensitive application behavior or controls, while Remote Config with Google Analytics user properties suits advanced user segmentation and analytics needs.

_Teams weighing Firebase Remote Config options can follow comparisons like this on daily.dev._

## Similar posts on daily.dev

- [Dynamic configuration in Java with Server-Side Firebase Remote Config](https://daily.dev/posts/dynamic-configuration-in-java-with-server-side-firebase-remote-config-yvb4sfjnd) · Firebase Developers · 0 upvotes · 0 comments
- [Optimize your Firebase Remote Config usage](https://daily.dev/posts/optimize-your-firebase-remote-config-usage-woddfd7ym) · Firebase · 1 upvotes · 1 comments
- [What Firebase’s Docs Don’t Tell You About Remote Config in React Native \(2026\)](https://daily.dev/posts/what-firebase-s-docs-don-t-tell-you-about-remote-config-in-react-native-2026--063rjk39t) · Medium · 0 upvotes · 0 comments

---

Tags: [#google](https://daily.dev/tags/google), [#mobile](https://daily.dev/tags/mobile), [#firebase](https://daily.dev/tags/firebase), [#ab-testing](https://daily.dev/tags/ab-testing)

[View this post on daily.dev](https://daily.dev/posts/unlocking-dynamic-experiences-with-client-side-custom-signals-conditions-in-firebase-remote-config-jceaulxnc)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Unlocking Dynamic Experiences with Client-Side custom signals conditions in Firebase Remote Config","url":"https://daily.dev/posts/unlocking-dynamic-experiences-with-client-side-custom-signals-conditions-in-firebase-remote-config-jceaulxnc","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/unlocking-dynamic-experiences-with-client-side-custom-signals-conditions-in-firebase-remote-config-jceaulxnc"},"datePublished":"2026-08-23T12:20:23.968Z","dateModified":"2026-08-24T07:10:24.089Z","description":"Firebase Remote Config now supports client-side custom signal conditions, letting developers define their own signals (beyond the predefined set) to...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/0349fbf03777b72f884af744410d9f85?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/0349fbf03777b72f884af744410d9f85?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Firebase","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Firebase","logo":"https://media.daily.dev/image/upload/s--i395oqZH--/f_auto,q_auto/v1787487448/logos/firebase-blog?_a=BAMAMicg0","url":"https://daily.dev/sources/firebase-blog"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/unlocking-dynamic-experiences-with-client-side-custom-signals-conditions-in-firebase-remote-config-jceaulxnc","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"google,mobile,firebase,ab-testing","timeRequired":"PT6M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Firebase","item":"https://daily.dev/sources/firebase-blog"},{"@type":"ListItem","position":3,"name":"Unlocking Dynamic Experiences with Client-Side custom signals conditions in Firebase Remote Config"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/unlocking-dynamic-experiences-with-client-side-custom-signals-conditions-in-firebase-remote-config-jceaulxnc#faq","mainEntity":[{"@type":"Question","name":"How do I use custom client-side signals with Firebase Remote Config to personalize app behavior?","acceptedAnswer":{"@type":"Answer","text":"Firebase Remote Config now supports client-side custom signal conditions, letting you define your own signal parameters (like player_retries) instead of relying only on predefined signals. You call setCustomSignals with a CustomSignals.Builder to update a signal, define a condition in the console (e.g. player_retries >= 3), then set a Remote Config parameter value tied to that condition, and read it via a ConfigUpdateListener. Developers rolling out dynamic app behavior can track Firebase Remote Config changes like this on daily.dev."}},{"@type":"Question","name":"When should I use client-side custom signals versus server-side Remote Config in Firebase?","acceptedAnswer":{"@type":"Answer","text":"Client-side custom signals are best for quick, lightweight configuration changes based on client-observed behavior, especially if you are not using Google Analytics or use a different analytics tool. Server-side Remote Config is recommended instead for sensitive application behavior or controls, while Remote Config with Google Analytics user properties suits advanced user segmentation and analytics needs. Teams weighing Firebase Remote Config options can follow comparisons like this on daily.dev."}}]}
```

