Hi @joel_birch
Can you confirm that your if statement is allowing your update_field function to run?
It is most likely that you are experiencing a current limitation of ACF. That is all API functions do not work correctly in the functions.php file, before the init action.
Does this help?