Shortcode not getting replaced

Shortcodes get replaced when you output the content via the_content() function, or apply the filters hooked to the_content. If you look at raw post data, you will always see the original shortcode placeholder, that is normal and expected.