When building custom Gutenberg blocks, one of the first architectural decisions is where structured data should live: ACF fields, or native block attributes.
When Block Attributes Win
If the data is purely presentational and scoped to a single block instance, native attributes keep everything in post_content and avoid an extra database lookup.
When ACF Still Wins
For data that needs to be queried, filtered, or reused across templates — like a case study’s client name — post meta via ACF (or a custom meta box) remains the more flexible choice.