Passing conditional arrays to WP_Query() [closed]

Just build the static part of the args array, then add the conditional variables, then pass the args array to WP_Query():

// Static args
$custom_query_args = array( /* static args here */ );

// Conditional arg
if ( 1 == $promo ) {
    $custom_query_args['meta_query'] = array( /* meta query array */ );
}

// Instantiate query
$custom_query = new WP_Query( $custom_query_args );