The hook you want to use is wp_enqueue_scripts (https://developer.wordpress.org/reference/hooks/wp_enqueue_scripts/).
You should put the add_action inside of an if statement, to not run it unnecessary.
If you are using a "True / False" field from ACF, you need to check if it exists and what value it has. True is 1, false is 0.
So your code can look like
function add_vidyard_script(){
wp_enqueue_script( 'vidyard-v4-js', 'https://play.vidyard.com/embed/v4.js?ver=1.8.52' );
}
if ( ( get_field('vidyard_video') && get_field('vidyard_video') == 1 ) && (is_page_template('templates-page/customers.php')) ):
add_action( 'wp_enqueue_scripts', 'add_vidyard_script');
endif;
Additional information:
Using wp_enqueue_scripts you can use parameters.
First Parameter is the ID. Second is the URL. Third can be a dependency. Fourth can be a version number. Fifth can be a boolean to load the script in the footer.
So if you have a script with the id of "myscript", url of "https://script.js", it only works with "jquery", has the version number of "1.0" and should be loaded in the footer instead of the header:
wp_enqueue_script( 'myscript', 'https://script.js', array( 'jquery' ), '1.0', true );
If you want to load it async, you will need to add a filter script_loader_tag to change the script tag and add the async attribute.
// add async attribute to enqueued script
function my_script_loader_tag($tag, $handle, $src) {
if ($handle === 'myscript') { // id of your script defined in wp_enqueue_script
if (false === stripos($tag, 'async')) {
$tag = str_replace(' src', ' async="async" src', $tag);
}
}
return $tag;
}
add_filter('script_loader_tag', 'my_script_loader_tag', 10, 3);
That's it, just a little filter.
Putting all together, your code can look like:
function add_vidyard_script(){
wp_enqueue_script( 'vidyard-v4-js', 'https://play.vidyard.com/embed/v4.js?ver=1.8.52' );
}
// add async attribute to enqueued script
function my_script_loader_tag($tag, $handle, $src) {
if ($handle === 'vidyard-v4-js') {
if (false === stripos($tag, 'async')) {
$tag = str_replace(' src', ' async="async" src', $tag);
}
}
return $tag;
}
if ( ( get_field('vidyard_video') && get_field('vidyard_video') == 1 ) && (is_page_template('templates-page/customers.php')) ):
add_action( 'wp_enqueue_scripts', 'add_vidyard_script');
add_filter('script_loader_tag', 'my_script_loader_tag', 10, 3);
endif;
Hope this also gives you a better understanding of using actions and filter in wordpress.
wp_enqueue_vidyard- that isn't a registered action in WP. Try changing that towp_enqueue_scripts