А)
Есть 3 способа подсчитать, сколько раз была нажата реферальная ссылка.
Каждый клик сделан, всегда
Каждый раз, когда URL вызывается, вы обновляете значение в своей базе данных. Это означает, что один человек может непрерывно нажимать, и все это будет сохранено. Преднамеренно или нет.
Каждый независимый клик
Вы будете хранить cookie для пользователя и увеличивать количество, только если этот cookie отсутствует. Это предотвратит случайное увеличение количества пользователей, если они дважды нажмут на ссылку. Тем не менее, они все еще могут очистить свои куки для увеличения количества.
- Каждый уникальный клик
Здесь вы решаете сохранить IP-адрес, с которого был получен клик, и увеличивать счетчик, только если этот IP-адрес еще не присутствует в базе данных.
B)
Вам нужно сохранить куки (независимо от вышеуказанного метода). В этом файле cookie вы сохраните любой идентификатор этого реферала в вашей базе данных.
В крайних случаях вы можете захотеть сохранить в базе данных вместо куки, чтобы запретить людям очищать свои куки, так как они не были никем не переданы, или пользователь вообще не принимает куки.
Конечно, есть возможность вообще ничего не сохранять, и пользователь попадает прямо на страницу регистрации. Но идентификатор реферера будет утерян, если пользователь покинет или изменит страницу.
C)
В этом случае я бы не использовал CSV в СУБД, вместо этого у меня, вероятно, была бы новая таблица с user_id (зарегистрированным человеком) и referral_id (идентификатором реферала). Однако иногда могут понадобиться данные CSV или сериализованные.
Краткое описание
Пользователь нажимает на реферальную ссылку, вы сохраняете файл cookie с идентификатором реферала в браузере пользователей и увеличиваете количество кликов этого идентификатора в вашей базе данных.
Когда пользователь отправляет регистрационную форму, вы проверяете наличие куки, если куки найдены, вы увеличиваете количество рефералов на основе того, какой идентификатор реферала был внутри этого куки,