Laravel.io
namespace App\Providers\GoogleAnalytics;

use Illuminate\Support\ServiceProvider;
use TheIconic\Tracking\GoogleAnalytics\Analytics;
use App\Services\GoogleAnalytics\EnhancedEcommerce;
use App\Repositories\Products\Product\ProductRepository;
use App\Repositories\Products\Variant\VariantRepository;

class GoogleAnalyticsServiceProvider extends ServiceProvider
{
    /**
     * @var VariantRepository
     */
    private $variantRepository;
    /**
     * @var ProductRepository
     */
    private $productRepository;

    /**
     * GoogleAnalyticsServiceProvider constructor.
     * @param VariantRepository $variantRepository
     * @param ProductRepository $productRepository
     */
    public function __construct(VariantRepository $variantRepository, ProductRepository $productRepository)
    {
        $this->variantRepository = $variantRepository;
        $this->productRepository = $productRepository;
    }

    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        $this->app->bind(EnhancedEcommerce::class, function ($app) {
            return new EnhancedEcommerce(new Analytics(), $this->variantRepository, $this->productRepository);
        });
    }
}

Please note that all pasted data is publicly available.