Without seeing your code it is impossible to be sure, but my guess is that you’re echoing the output of your shortcode instead of returning it.
function my_shortcode($atts){
//do shortcode logic
echo $result; //This is wrong and would do what you describe.
}
function my_shortcode($atts){
//do shortcode logic
return $result; //This is what you should do instead.
}
If you have to echo within the plugin you can do this.
function my_shortcode($atts){
ob_start();
//do shortcode logic
return ob_get_clean();
}
That function will store all your echo
to the output buffer and then return that buffer as a string.