Forum Discussion
How to you manage 'Happy customer signals' in multiple Canvas
Hi everyone,
I'm currently building a signal-driven evergreen referral canvas and would love some input from others managing multi-canvas ecosystems.
Entry logic includes:
- Lifecycle stage: set up completed + post onboarding
- Lifecycle transitions: trial to paid, upgrade, renewal success
- Joy/value signal: high-intent engagement actions indicating 'happy customer'
We will also apply a 30-day cooldown period and exclusions for inactive statges (payment failed, paywall not activated)
The challenge we are currently experiencing is that some joy/value signals are being used as entry criteria for other canvases (eg upgrade and leave an Amazon review)
For those running multiple advocacy and revenue expansion programs:
- How do you prevent signal collision across canvases?
- Do you apply any prioritisation via entry criteria, mutual exclusions, segments or global filters?
- Do you centralise joy signals into one canvas before routing users? (would be super complex to mash all the canvases together)
- Any best practices for avoiding user fatigue while maximising monetisation and advocacy moments?
Would love to hear how others structure governance across overlapping signal-based canvases.
2 Replies
- NirnayMentor
Hey Lin_To ,
I had the exact same challenge with overlapping signal-based canvases and tags helped us solve it. The key is to think from the top - you need to see the whole ecosystem first before building individual canvas logic. The governance structure you're looking for is Canvas-level tags - they're Braze's built-in orchestration layer for this. We tag each Canvas with 2-3 tags - for example, taking your use case, you could use tags like advocacy, revenue_expansion, tier1_revenue, tier2_advocacy etc. Then we use three main approaches: First, in Canvas entry criteria we add exclusions like "Last Received Message from Canvas With Tag 'advocacy' within 30 days" - this prevents users from entering multiple overlapping canvases. Second, we set frequency capping by tag in workspace settings (Settings → Frequency Capping) with rules like "max 2 messages/week from advocacy tag" or "max 1 message/week from tier1_revenue tag" - these work with standard frequency caps and the most restrictive rule wins. Third, we create a priority hierarchy based on revenue impact where tier1 canvases (your highest revenue generators like upgrades and renewals) have no exclusions and short cooldowns, tier2 (advocacy programs like referrals) excludes if tier1 sent in last 30 days, and tier3 (engagement) excludes if tier1 or tier2 sent. This ensures your revenue-critical moments always get priority while still capturing advocacy opportunities without fatiguing users. Important note: tags are counted at send time based on current Canvas tags, so don't frequently change tags on active Canvases. This approach prevents signal collision, controls user fatigue, and scales without needing a master canvas. We bulk tagged all Canvases, set the frequency caps, added tag-based exclusions to entry criteria, and documented the tag taxonomy for the team. Tags give you centralised governance while keeping each Canvas focused. Hope this helps!
- Lin_ToSupporter
This is very helpful, thank you for sharing!
Related Content
- 11 months ago