I prefer to not rely on shortcodes. I prefer using ACF and custom coding to dictate output. It’s a lot easier and gives users more control that is also more user-friendly. Shortcodes can be hard to remember. When you just have fields they enter information into and select options and have all the rest running in the background, there is much less room for error as well.