You can create and store all of your personalized content in ButterCMS.
To introduce personalization, you need to call the ButterCMS API for the particular content you want to be displayed. Your Customer Data Platform "CDP" segmentation data for the visitor/user would determine what content will be display based on the segmentation data associated with that content in ButterCMS.
For example, you can create as many home page banners as you'd want to segment out for each of your customer groups. If your CDP has information as to city location (ie: San Francisco) then your content in Butter would need a field for "location" so that your site calls up the correct content for that customer.
To summarize, you can store all your different versions of content in ButterCMS, and your app would look to your CDP information in order to call up the correct, targetted content from ButterCMS via our API. If you aren't using a CDP (Customer Data Platform), the approach is still the same - your app will utilize customer information obtained about that user in order to determine the correct content to fetch from ButterCMS.