Я думаю, что делать что-то вроде этого немного сложно. Вот некоторые идеи, которые приходят на ум
Например, вы можете попросить пользователя ввести URL-адрес своего сайта, когда он получит виджет, или виджет может отслеживать домен или поддомен, таким образом давая меньше URL-адресов.
Простое отслеживание домена, очевидно, будет проблематичным, если фактическим сайтом является domain.com/sitename/ и в домене может быть несколько сайтов. В этом случае вы можете попытаться определить самый высокий общий каталог. Как то так:
У вас есть несколько URL-адресов, например: domain.com/site/page1, domain.com/site/page2 и т. Д. Здесь самый высокий общий каталог будет domain.com/site.
Не думаю, что это всегда будет работать правильно или давать абсолютно точные результаты. Для точности, я думаю, что лучше всего просто спросить у пользователя URL-адрес, когда он загружает код для виджета.
Редактировать: новая идея - просто сгенерируйте уникальный идентификатор для каждого пользователя. Это можно сделать, просто взяв текущую временную метку или что-то в этом роде и скрыв ее во фрагменте кода, который пользователь должен скопировать. Таким образом, вы можете отслеживать сам идентификатор, а любые URL и домены, в которых он появляется, можно сгруппировать под ним.
Если у вас есть идентификатор, который не получил хита в течение, скажем, недели или чего-то еще, вы можете удалить его из своей базы данных, и таким образом избегайте заполнения его неиспользуемыми идентификаторами.