Issue running db create table query from static method

plugin_dir_url() returns the URL directory path for your plugin, so this won’t work as expected (the function won’t be called):

register_activation_hook(plugin_dir_url(__FILE__) . 'frequentVisitorCoupons.php',
 'Utilities::createTablesIfNotExists');

You should have used plugin_dir_path() which returns the file-system directory path for your plugin (e.g. /var/www/public/<user>/wp-content/plugins/your-plugin/).

But if the code is in the main plugin file, then you could simply use __FILE__:

register_activation_hook(__FILE__, 'Utilities::createTablesIfNotExists');

Sample plugin main file:

<?php
/*
 * Plugin Name: My Plugin
 */

require_once 'path/to/classes/utilities.php';

// Installs the tables on plugin activation.
register_activation_hook( __FILE__, 'Utilities::createTablesIfNotExists' );