рд╕рд░рд▓ рдХреЙрд▓ рдЯреНрд░реИрдХрд┐рдВрдЧ рд╕реЗрд╡рд╛ рдмрдирд╛рдирд╛, рднрд╛рдЧ 1

рд▓реЗрдЦ рд╕рд╛рдЗрдЯ рдкрд░ рдХреЙрд▓ рдЯреНрд░реИрдХрд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдЧрд╛ред рдпрд╣ рд╕рд╛рдордЧреНрд░реА рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рд╢реИрдХреНрд╖рд┐рдХ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦреА рдЧрдИ рдереА рдФрд░ рдХреЙрд▓рдЧрд░реНрд▓ рд╕реЗрд╡рд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓реА рдореМрдЬреВрджрд╛ рд╡рд┐рд╢реЗрд╖ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░рддреА рд╣реИред

рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ


  1. рд╕реЗрд╡рд╛ рдХреЛ рд╕рд╛рдЗрдЯ рдкрд░ рд╕рдВрдХреНрд░рдордг рдХреЗ рд╕реНрд░реЛрдд рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЦреНрдпрд╛рдУрдВ (рд╕рдВрдЦреНрдпрд╛рдУрдВ) рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП - рдЦреЛрдЬ рдЗрдВрдЬрдиреЛрдВ рд╕реЗ рд╕рдВрдХреНрд░рдордг, рд╡рд┐рдЬреНрдЮрд╛рдкрди рдХреЗ рд▓рд┐рдП рд╕рдВрдХреНрд░рдордг, рдпреВрдЯреАрдПрдо рдЯреИрдЧ рдХреЗ рд╕рд╛рде рд▓рд┐рдВрдХ рдХрд╛ рдорд╛рд░реНрдЧред
  2. рд╕реЗрд╡рд╛ рдХреЛ рд╕рд╛рдЗрдЯ рдЖрдЧрдВрддреБрдХ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕ рдирдВрдмрд░ рдХреЛ рдЖрдЧреЗ рдХреА рдпрд╛рддреНрд░рд╛ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
  3. рдкреНрд░рджрд░реНрд╢рд┐рдд рдирдВрдмрд░ рдкрд░ рдХреЙрд▓ рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп, рд╕реЗрд╡рд╛ рдХреЛ Google Analytics рдореЗрдВ рдХрд┐рд╕реА рдИрд╡реЗрдВрдЯ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рд╢реБрд░реБрдЖрдд рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред

рд╕рд╛рдорд╛рдиреНрдп рдпрд╛рдВрддреНрд░рд┐рдХреА


рдЬрдм рдЖрдк рд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╕рдВрдХреНрд░рдордг рдХреЗ рд╕реНрд░реЛрдд рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╕рдВрдЦреНрдпрд╛ рдЗрд╕ рдЖрдЧрдВрддреБрдХ рдХреЛ рджреА рдЧрдИ рд╣реИред рдпрджрд┐ рдЖрдЧрдВрддреБрдХ рдкрд╣рд▓реА рдмрд╛рд░ рд╕рд╛рдЗрдЯ рдкрд░ рдЧрдпрд╛ рдерд╛, рддреЛ рд╣рдо рдЙрд╕реЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╣рдо рдЗрд╕ рд╕рдВрджрд░реНрдн рд╕реНрд░реЛрдд рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдкреВрд▓ рд╕реЗ рдПрдХ рдирдВрдмрд░ рдЕрд╕рд╛рдЗрди рдХрд░рддреЗ рд╣реИрдВред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдЬрдм рдЖрдЧрдВрддреБрдХ рд╕рд╛рдЗрдЯ рдкрд░ рд▓реМрдЯрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЙрд╕реЗ рдкрд╣рд▓реЗ рд╕реМрдВрдкреА рдЧрдИ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдореИрдВ рдХреЙрд▓ рд▓реЙрдЧ рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдирдВрдмрд░ рдХреЛ рдмрджрд▓рдирд╛, рдЗрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕реМрдВрдкрдирд╛ рдПрдХ рддрдХрдиреАрдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЙрд▓ рдФрд░ рдЙрд╕ рдирдВрдмрд░ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рдЯреЗрд▓реАрдлреЛрдиреА рдЖрдкрдХреЛ рдирд┐рд░рдВрддрд░ рдЖрдзрд╛рд░ рдкрд░ рдЪрд▓ рд░рд╣реА рдХреЙрд▓ рдкрд░ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рддреЛ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирдВрдмрд░ рдкрд░ рдХреЙрд▓ рдХреЗ рдХреНрд╖рдг рдХреЛ рдЬрд╛рдирдиреЗ рдФрд░ рдЙрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рдЗрдЯ рдкрд░ рдЙрд╕ рдкрд▓ рдореЗрдВ рдХрд┐рд╕ рдирдВрдмрд░ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЗрд╕рдХреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Google Analytics рдореЗрдВ рдПрдХ рдИрд╡реЗрдВрдЯ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рд╢реБрд░реБрдЖрдд рдХрд░рдирд╛ рдФрд░ рдЗрд╕реЗ ROK рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рд╣реИред

рд╕рдВрд░рдЪрдирд╛


  1. ct-server.ru - рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рд╡реЗрдм рд╕реЗрд╡рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╣рд╛рдВ рд░рдЦреА рдЬрд╛рдПрдЧреА, рдХрдорд░реЗ рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдФрд░ рд▓реЙрдЧрд┐рдВрдЧ рдЖрдЧрдВрддреБрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕;
  2. refer-to-site-with-ct-code.ru - рдЗрд╕ рд╕рд╛рдЗрдЯ рдкрд░ рд╣рдо рдЦреЛрдЬ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рд╕рдВрдХреНрд░рдордг рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░реЗрдВрдЧреЗ;
  3. site-with-ct-code.ru - рд╡рд╣ рд╕рд╛рдЗрдЯ рдЬрд┐рд╕ рдкрд░ рдирдВрдмрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░рдЦреА рдЬрд╛рдПрдЧреАред

рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ


рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдХреЛ рд╕реНрдерд╛рдиреАрдп рд╕рд░реНрд╡рд░ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рд╕рд╛рдЗрдЯ рдмрдирд╛рдПрдВ-with-ct-code.ru , рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреА index.html рдлрд╝рд╛рдЗрд▓ рдбрд╛рд▓рддреЗ рд╣реИрдВред

<!DOCTYPE HTML> <html> <head> <meta charset='utf-8'> <title>CT</title> <script src="http://ct-server.ru/script.js"></script> <script> //  google id document.cookie = '_ga=GA1.2.1212121212.1212121212; expires=Thu, 18 Dec 2077 12:00:00 UTC; path=/'; </script> </head> <body> <p id='calltracking'>79000000000</p> </body> </html> 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЙрджрд╛рд╣рд░рдг рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдо рдПрдХ рдмрд╛рд╣рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ ct-server.ru/script.js рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рд╕рд╛рдЗрдЯ-with-ct-code.ru рдФрд░ ct-server.ru рдХреЗ рдмреАрдЪ "рд╕рдВрдЪрд╛рд░" рдХрд░реЗрдЧрд╛ , рд╕рд╛рде рд╣реА рд╕рд╛рдЗрдЯ рдХреЗ DOM рдЯреНрд░реА рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░реЗрдЧрд╛ред site-with-ct-code.ru рддрддреНрд╡ рдХреА рдЖрдИрдбреА рджреНрд╡рд╛рд░рд╛ рдирдВрдмрд░ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ - 'рдХреЙрд▓рдЯреНрд░реИрдХрд┐рдВрдЧ'ред

рдЕрдм рдПрдХ refer-to-site-with-ct-code.ru рдмрдирд╛рдПрдВ , рдЬрд┐рд╕рдореЗрдВ рд░реЗрдлрд╝рд░ рд╕реЗ рд╕рдВрдХреНрд░рдордг рдкрд░ рдкрд┐рди рдирдВрдмрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрдЯ-with-ct-code.ru рдХрд╛ рд▓рд┐рдВрдХ рд╣реЛрдЧрд╛ред

 <!DOCTYPE HTML> <html> <head> <meta charset='utf-8'> <title>CT</title> </head> <body> <a href="http://site-with-ct-code.ru"></a> </body> </html> 

рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдореЗрдЬрдмрд╛рди ct-server.ru рдХреЛ рдмрдврд╝рд╛рдПрдВрдЧреЗ , рдЬрд┐рд╕рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрд░рдЪрдирд╛ рд╣реЛрдЧреА:

index.php - рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдЬреЛ рд╕рд╛рдЗрдЯ-with-ct-code.ru рд╕реЗ рдкреЛрд╕реНрдЯ рдЕрдиреБрд░реЛрдз рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдЧреА рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░реЗрдЧреА;

script.js - рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдЬреЛ рдЙрди рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рдХрдиреЗрдХреНрдЯ рдХреА рдЬрд╛рдПрдЧреА рдЬрд╣рд╛рдВ рдирдВрдмрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдбреЗрдЯрд╛рдмреЗрд╕


рд╣рдореЗрдВ рджреЛ рдкреНрд▓реЗрдЯ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред Ct рдЯреЗрдмрд▓ рдореЗрдВ рд╣рдо рдирдВрдмрд░ рдФрд░ рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рдЙрдирдХреЗ рдбрд┐рд╕реНрдкреНрд▓реЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЛрд░ рдХрд░реЗрдВрдЧреЗ, рдирдВрдмрд░ рдЯреЗрдмрд▓ рдореЗрдВ рд╣рдо рдирдВрдмрд░ рдХреЗ рдбрд┐рд╕реНрдкреНрд▓реЗ рдХреЛ рд▓реЙрдЧ рдХрд░реЗрдВрдЧреЗред

 CREATE TABLE `ct` ( `id` int(11) NOT NULL, `phone` varchar(200) NOT NULL, `refer` varchar(200) NOT NULL, `utm` varchar(200) NOT NULL, `host` varchar(200) NOT NULL, `ga` varchar(200) NOT NULL, `login` varchar(200) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE `ct` ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `id` (`id`); ALTER TABLE `ct` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1; 

рдЬреЛрдбрд╝рд╛ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреА рдПрдХ рдЫреЛрдЯреА рд╡реНрдпрд╛рдЦреНрдпрд╛:

рдлреЛрди - рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдлреЛрди рдирдВрдмрд░;
рд╕рдВрджрд░реНрдн - рд╕рдВрдХреНрд░рдордг рдХрд╛ рд╕реНрд░реЛрдд;
utm - рдЙрд╕ рдкреГрд╖реНрда рд╕реЗ рд▓рд┐рдВрдХ рдЬрд┐рд╕ рдкрд░ рдирдВрдмрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП;
рд╣реЛрд╕реНрдЯ - рд╡рд╣ рд╕рд╛рдЗрдЯ рдЬрд┐рд╕ рдкрд░ рдирдВрдмрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдерд┐рдд рд╣реИ;
Google Analytics рдХрд╛рдЙрдВрдЯрд░ рдХрд╛ рдЖрдИрдбреА - рдЖрдИрдбреА;
рд▓реЙрдЧрд┐рди - рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдорд╛рд▓рд┐рдХ рдХрд╛ рд▓реЙрдЧрд┐рдиред

рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдкреНрд▓реЗрдЯ рднрд░реЗрдВред

 INSERT INTO `ct` (`id`, `phone`, `refer`, `utm`, `host`, `ga`, `login`) VALUES (2, '78000000001', '', 'http://site-with-ct-code.ru/?utm_medium=cpc', 'http://site-with-ct-code.ru', 'UA-12345678-1', ''), (3, '78000000002', 'http://refer-to-site-with-ct-code.ru/', 'http://site-with-ct-code.ru/', 'http://site-with-ct-code.ru', 'UA-12345678-1', ''), (4, '78000000003', 'http://refer-to-site-with-ct-code.ru/', 'http://site-with-ct-code.ru/', 'http://site-with-ct-code.ru', 'UA-12345678-1', ''), (5, '78000000004', 'http://refer-to-site-with-ct-code.ru/', 'http://site-with-ct-code.ru/', 'http://site-with-ct-code.ru', 'UA-12345678-1', ''), (6, '78000000005', '', 'http://site-with-ct-code.ru/', 'http://site-with-ct-code.ru', 'UA-12345678-1', ''); 

рдЫрд╡рд┐

рдЕрдм рдирдВрдмрд░ рдкреНрд▓реЗрдЯ рдмрдирд╛рдПрдВред

 CREATE TABLE `numbers` ( `id` int(11) NOT NULL, `phone` varchar(200) DEFAULT NULL, `ct_user` varchar(200) DEFAULT NULL, `refer` varchar(200) DEFAULT NULL, `gid` varchar(200) DEFAULT NULL, `page` varchar(200) DEFAULT NULL, `time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE `numbers` ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `id` (`id`), ALTER TABLE `numbers` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;COMMIT; 

рдЗрд╕ рдкреНрд▓реЗрдЯ рдореЗрдВ рд╣рдо рд╕рд╛рдЗрдЯ рдкрд░ рдХреМрди рд╕рд╛ рд╡рд┐рдЬрд╝рд┐рдЯрд░, рдХреМрди рд╕реА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдХрд┐рд╕ рд╕рдордп рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рд░рд┐рдХреЙрд░реНрдб рдХрд░реЗрдВрдЧреЗред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рд▓рдХреНрд╖реНрдп рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рд▓реЙрдЧ рдХреЗ рд╕рд╛рде рдЗрд╕ рдбреЗрдЯрд╛ рдХреА рддреБрд▓рдирд╛ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ - Google Analytics рдХреЛ рдПрдХ рдИрд╡реЗрдВрдЯ рднреЗрдЬрдирд╛, рд╕реАрдЖрд░рдПрдо рдореЗрдВ рд▓реАрдб рдмрдирд╛рдирд╛, рдИрдореЗрд▓ рднреЗрдЬрдирд╛ рдЖрджрд┐ред

рдлрд╝реЛрди - рдлрд╝реЛрди рдирдВрдмрд░;
ct_user - рд╡рд┐рдЬрд╝рд┐рдЯрд░ рдЖрдИрдбреА;
рд╕рдВрджрд░реНрдн - рд╕рдВрдХреНрд░рдордг рдХрд╛ рд╕реНрд░реЛрдд;
gid - Google Analytics рдХреБрдХреА
рдкреГрд╖реНрда - рд╡рд╣ рдкреГрд╖реНрда рдЬрд┐рд╕ рдкрд░ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреА рд╣реИ;
рд╕рдордп - рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рджрд░реНрд╢рди рд╕рдордпред

рдПрдХ рдЕрдиреБрд░реЛрдз рд╣реИрдВрдбрд▓рд░ рдмрдирд╛рдПрдБ


Ct-server.ru рд╡реЗрдм рд╕реЗрд╡рд╛ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдореЗрдЬрдмрд╛рдиреА рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕рд╛рдЗрдЯ рдХреЗ рдмреАрдЪ рдХреА рдмрд╛рддрдЪреАрдд рдХреНрд░реЙрд╕-рдбреЛрдореЗрди XHR (XMLHttpRequest) POST рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреА рдЬрд╛рдПрдЧреАред

рдЪрд▓рд┐рдП рдкрд╣рд▓реЗ рдирд┐рд░реНрдорд┐рдд ct-server.ru/index.php рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рдЕрдиреБрдорддрд┐ рдкреНрд░рд╛рдкреНрдд рд╣реЛрд╕реНрдЯ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреЗрдХ рдЬреЛрдбрд╝реЗрдВ, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рд╕рд╛рдЗрдЯ-with-ct-code.ru , site-with-ct-code2.ru рдФрд░ рд╕рд╛рдЗрдЯ рдХреЗ рд╕рд╛рде рд╣реИ -ct-code3.ru

 <?php if (isset($_SERVER["HTTP_ORIGIN"]) === true) { $host = $_SERVER["HTTP_ORIGIN"]; //   $allowHosts = array("http://site-with-ct-code.ru", "http://site-with-ct-code2.ru", "http://site-with-ct-code3.ru"); if (in_array($host, $allowHosts, true) === true) { header('Access-Control-Allow-Origin: ' . $host); header('Access-Control-Allow-Credentials: true'); header('Access-Control-Allow-Methods: POST'); header('Access-Control-Allow-Headers: Content-Type'); //    post-      } if ($_SERVER["REQUEST_METHOD"] === "OPTIONS") { exit; } } ?> 

рд╣рдо POST рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдЪрд░ рдорд╛рдиреЛрдВ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬреЛ рд╕рд╛рдЗрдЯ-with-ct-code.ru рд╕реЗ рдЖрдП рдереЗ

 $phone = $_POST["phone"]; $ct_user = $_POST["ct_user"]; $gid = $_POST["gid"]; $refer = $_POST["ref"]; $page = $_POST["page"]; 

рдХреБрдХ _ga рдХрд╛ рдлреЙрд░реНрдо _ga = GA1.2.1212121212.12.121212121212 рд╣реИ, рд╣рдо рдЗрд╕реЗ "1212121212.121212121212" рдлреЙрд░реНрдо рдореЗрдВ рд▓рд╛рдПрдВрдЧреЗред

 if ($gid) { $pos = strpos($gid, '.', strpos($gid, '.') + 1); $gid = substr($gid, $pos + 1); } 

рд╣рдо рдЙрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдПрдХ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВрдЧреЗ рдЬрд╣рд╛рдВ рд╣рдордиреЗ рдкрд╣рд▓реЗ рдЕрдкрдиреА рдЯреЗрдмрд▓ рдмрдирд╛рдИ рдереАред

 $conn = new mysqli("localhost", "root", "", "calltracking"); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } 

рд╡реЗрдм рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рджреЛ рд╡рд┐рдзрд┐рдпреЛрдВ - get_num_first рдФрд░ get_num рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЛрдЧреАред

Get_num_first рд╡рд┐рдзрд┐ рддрдм рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЖрдЧрдВрддреБрдХ рдкрд╣рд▓реА рдмрд╛рд░ рдорд╛рдкрджрдВрдб, рдореЗрд▓, рд░реЗрдлрд╝рд░рд░, рдпреВрдЯреАрдПрдо, рд╣реЛрд╕реНрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЪрдпрди рдХрд░рдХреЗ рдирдВрдмрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрдЯ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЪрдпрди рдкрд░рд┐рдгрд╛рдо рдПрдХ рдорд╛рди рджреЗрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдлреЛрди рдирдВрдмрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо Google Analytics рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ Google Analytics рдХреЛ рдИрд╡реЗрдВрдЯ рднреЗрдЬрддреЗ рд╣реИрдВред рдСрдлрд╝рд▓рд╛рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рд╡рд┐рдзрд┐ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИ, рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЙрд▓ рд▓реЙрдЧ рдФрд░ рд╕рдВрдЦреНрдпрд╛ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рдВрдЦреНрдпрд╛ рд▓реЙрдЧ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╕рдордп рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

 if ($_POST['method'] == 'get_num_first') { $sql = "SELECT * FROM `ct` where `host` = '" . $host . "' and `refer` = '" . $refer . "' and `utm` = '" . $page . "' ORDER BY RAND() LIMIT 1 "; $result = $conn->query($sql); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { print_r($row["phone"]); $event = file_get_contents('https://www.google-analytics.com/collect?v=1&tid=UA-12345678-1&cid=' . $gid . '&t=event&ec=GetNumber&ea=number&z=' . $row["phone"] . ''); } } else { //echo "0"; $sql = "SELECT * FROM `ct` where `host` = '" . $host . "' and `refer` = '" . $refer . "' ORDER BY RAND() LIMIT 1 "; $result = $conn->query($sql); print_r($row["phone"]); $event = file_get_contents('https://www.google-analytics.com/collect?v=1&tid=UA-12345678-1&cid=' . $gid . '&t=event&ec=GetNumber&ea=number&z=' . $row["phone"] . ''); } } 

рдирдВрдмрд░ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рд▓реЙрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП get_num рд╡рд┐рдзрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

 else if ($_POST['method'] == 'get_num') { $sql = "INSERT INTO `numbers` (`phone`, `ct_user`, `gid`, `refer`,`page`) VALUES ( '" . $phone . "', '" . $ct_user . "', '" . $gid . "', '" . $refer . "', '" . $page . "');"; $result = $conn->query($sql); $sql = "SELECT * FROM `numbers` where `ct_user` = '" . $ct_user . "' ORDER BY `id` DESC LIMIT 1 "; $result = $conn->query($sql); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { print_r($row["phone"]); $event = file_get_contents('https://www.google-analytics.com/collect?v=1&tid=UA-12345678-1&cid=' . $gid . '&t=event&ec=ShowNumber&ea=number&z=' . $row["phone"] . ''); } } else { //echo "0"; } } $conn->close(); 

рдирдВрдмрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ


рдЕрдЧрд▓рд╛, рд╣рдо ct-server.ru/script.js рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдЬрд╛рдПрдБрдЧреЗ, рдЬрд┐рд╕реЗ рд╣рдо рд╕рд╛рдЗрдЯ-with-ct-code.ru рдкрд░ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВред

рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдХреБрдХреАрдЬрд╝ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдХрд╛рд░реНрдп рдХрд░реЗрдВ - рд╕реЗрдЯрдХреБрдХреА рдФрд░ рдЧреЗрдЯрдХреЙрдХреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдлреЛрди рдирдВрдмрд░ рдХреА рдХреБрдХреА рдЖрдИрдбреА рдХреЛ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред

 //  function setcookie(phone, value, expires, path, domain, secure) { document.cookie = phone + "=" + escape(value) + (expires ? "; expires=" + new Date(expires) : "") + (path ? "; path=" + path : "") + (domain ? "; domain=" + domain : "") + (secure ? "; secure" : ""); } //  function getcookie(phone) { var cookie = " " + document.cookie; var search = " " + phone + "="; var setStr = null; var offset = 0; var end = 0; if (cookie.length > 0) { offset = cookie.indexOf(search); if (offset != -1) { offset += search.length; end = cookie.indexOf(";", offset); if (end == -1) { end = cookie.length; } setStr = unescape(cookie.substring(offset, end)); } } return setStr; } 

рдЙрд╕рдХреЗ рдмрд╛рдж, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЖрдИрдбреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрдХрдб рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЬреЛрдбрд╝реЗрдВред

 // id  function makeid(length) { var result = ""; var user_id = "abcdefghijklmnopqrstuvwxyz0123456789"; var user_idLength = user_id.length; for (var i = 0; i < length; i++) { result += user_id.charAt(Math.floor(Math.random() * user_idLength)); } return result; } 

рдЕрдм 33-рдЕрдВрдХреАрдп рдпреВрдЬрд░ рдЖрдИрдбреА рд╡рд╛рд▓реЗ рдХреБрдХреАрдЬрд╝ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрдВрдХреНрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВред

 // id  function generateuser_id() { var ct_user_id = makeid(33); setcookie("ct_user", ct_user_id, new Date().getTime() + 60 * 60 * 1000); //  } 

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк ct_user рдХреБрдХреА 1 рдШрдВрдЯреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рддреА рд╣реИред

рд╣рдо get_num_first рд╡рд┐рдзрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред Ct-server.ru рд╕реЗ рдкрд░рд┐рдгрд╛рдореА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХреБрдХреА рдореЗрдВ 1 рдШрдВрдЯреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╣рдо рддрддреНрд╡ рдХреА рдЖрдИрдбреА рджреНрд╡рд╛рд░рд╛ рдкреГрд╖реНрда рдкрд░ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдкрд╣рд▓рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХрд░рддреЗ рд╣реИрдВред

 //    ,  ,       id  function getNumberFirstTime() { var method = "get_num_first"; var ct_user = getcookie("ct_user"); var gid = getcookie("_ga"); var ref = document.referrer; var host = window.location.origin; var page = document.location.href; var xhr = new XMLHttpRequest(); var body = "&method=" + encodeURIComponent(method) + "&page=" + encodeURIComponent(page) + "&ct_user=" + encodeURIComponent(ct_user) + "&ref=" + encodeURIComponent(ref) + "&host=" + encodeURIComponent(host) + "&gid=" + encodeURIComponent(gid); xhr.open("POST", "http://ct-server.ru", true); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.withCredentials = true; xhr.send(body); xhr.onreadystatechange = function() { //console.log(xhr.responseText); var t = xhr.responseText; document.getElementById("calltracking").innerHTML = t; setcookie("phone", t, new Date().getTime() + 60 * 60 * 1000); //  }; } 

рдЖрдЗрдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдПрдВ рдЬреЛ рд╕рдордп-рд╕рдордп рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╕рдВрдЦреНрдпрд╛, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА, рдкреГрд╖реНрда рдкрддрд╛, Google рд╡рд┐рд╢реНрд▓реЗрд╖рд┐рдХреА рдХреБрдХреА рдореВрд▓реНрдп, ct-server.ru рдХреЗ рд▓рд┐рдП рд░реЗрдлрд░рд▓ рд╕реНрд░реЛрдд рднреЗрдЬреЗрдЧрд╛ред

 function getNumberPeriodically() { var method = "get_num"; var ct_user = getcookie("ct_user"); var phone = getcookie("phone"); var gid = getcookie("_ga"); var ref = document.referrer; var page = document.location.href; var host = window.location.origin; var xhr = new XMLHttpRequest(); var body = "&method=" + encodeURIComponent(method) + "&page=" + encodeURIComponent(page) + "&ct_user=" + encodeURIComponent(ct_user) + "&ref=" + encodeURIComponent(ref) + "&host=" + encodeURIComponent(host) + "&phone=" + encodeURIComponent(phone) + "&gid=" + encodeURIComponent(gid); xhr.open("POST", "http://ct-server.ru", true); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.withCredentials = true; xhr.send(body); xhr.onreadystatechange = function() { //console.log(xhr.responseText); var t = xhr.responseText; //document.getElementById('calltracking').innerHTML = t; }; } 

рдЕрдВрдд рдореЗрдВ, рд╣рдо sendToCalltracking рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЬреЛ рдХреБрдХреА рдлреЛрди рдирдВрдмрд░ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИред

 function sendToCalltracking() { var ggg = getcookie("ct_user"); var ccc = getcookie("phone"); var gac = getcookie("_ga"); if ( typeof ggg === "undefined" || ggg === null || ccc === "undefined" || ccc === null || ccc.length < 1 || ggg.length < 1 || ccc === "" || ggg === "" ) { //console.log('false'); generateuser_id(); getNumberFirstTime(); } else { //console.log('true'); document.getElementById("calltracking").innerHTML = ccc; getNumberPeriodically(); } } 

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рд╣рдо рдЕрдкрдиреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЯрд╛рдЗрдорд░ рдХрд╣рддреЗ рд╣реИрдВред

 var myTimer = setTimeout(sendToCalltracking, 500); //        setInterval(sendToCalltracking, 1 * 60 * 1000); 

рдЫрд╡рд┐

рдпрджрд┐ рдЕрдЧрд▓реЗ рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдХреБрдХреАрдЬрд╝ рд╣рдЯрд╛ рджреА рдЬрд╛рддреА рд╣реИрдВ, рддреЛ рдлрд╝рдВрдХреНрд╢рди рд╣реЛрд╕реНрдЯ рдФрд░ рд╕реНрд░реЛрдд рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдЪрдпрди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЖрдЧрдВрддреБрдХ рдХреЛ рдПрдХ рдирдпрд╛ рдЕрд╕рд╛рдЗрди рдХрд░реЗрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рд╕реНрдерд╛рдиреАрдпрд╕реНрдЯреЛрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдорд╛рди рд▓рд┐рдЦрдирд╛ рд╕рдВрднрд╡ рд╣реИред

рдЫрд╡рд┐

рдПрдХ рдорд┐рдирдЯ рдореЗрдВ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреБрдХреА рдирдВрдмрд░ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА рдХреЗ рдореВрд▓реНрдп рдХреЛ рдЙрд╕ рдкреГрд╖реНрда рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдЧреА, рдЬрд┐рд╕ рдкрд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд┐рдП рдмрд┐рдирд╛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рд╕рдордЭрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдбреЛрдореЗрди рдХреЗ рд╕рднреА рдкреГрд╖реНрдареЛрдВ рдкрд░ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЫрд╡рд┐

рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗред

Source: https://habr.com/ru/post/hi473372/


All Articles