in post content shortcode works, but hardcoded in same page template doesn’t?

I was lacking the underscore in [product categories].

<?php echo do_shortcode('[product_categories]'); ?>

Above code with “_” returns the correct answer.