<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	 xmlns:media="http://search.yahoo.com/mrss/" >

<channel>
	<title>Docs &#8211; Agile Store Locator WordPress Plugin</title>
	<atom:link href="https://agilestorelocator.com/wiki/feed/" rel="self" type="application/rss+xml" />
	<link>https://agilestorelocator.com</link>
	<description>#1 Store Locator WordPress Plugin that finds location using the Google Maps</description>
	<lastBuildDate>Fri, 19 Jun 2026 07:36:54 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>
	<item>
		<title>VAT Number on Checkout</title>
		<link>https://agilestorelocator.com/wiki/vat-number-on-checkout/</link>
					<comments>https://agilestorelocator.com/wiki/vat-number-on-checkout/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 19 Jun 2026 07:36:47 +0000</pubDate>
				<guid isPermaLink="false">https://agilestorelocator.com/?post_type=docs&#038;p=4365</guid>

					<description><![CDATA[If you have a valid VAT number, you can add it during checkout to ensure VAT is handled correctly according to your business or tax requirements. Depending on the checkout method being displayed, the VAT number can be entered in one of two places: Option 1: Add VAT Number in the Checkout Form Some checkout ... <br><a href="https://agilestorelocator.com/wiki/vat-number-on-checkout/" class="text-muted readmore">Read More <i data-feather="chevron-right" class="fea icon-sm"></i></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">If you have a valid VAT number, you can add it during checkout to ensure VAT is handled correctly according to your business or tax requirements.</p>



<p class="wp-block-paragraph">Depending on the checkout method being displayed, the VAT number can be entered in one of two places:</p>



<h2 class="wp-block-heading">Option 1: Add VAT Number in the Checkout Form</h2>



<p class="wp-block-paragraph">Some checkout pages display a dedicated <strong>VAT Number</strong> field within the billing details section.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img fetchpriority="high" decoding="async" width="742" height="380" src="https://agilestorelocator.com/wp-content/uploads/2026/06/form-checkout-vat-field.png" alt="form checkout vat field" class="wp-image-4366" title="Docs 1" srcset="https://agilestorelocator.com/wp-content/uploads/2026/06/form-checkout-vat-field.png 742w, https://agilestorelocator.com/wp-content/uploads/2026/06/form-checkout-vat-field-300x154.png 300w, https://agilestorelocator.com/wp-content/uploads/2026/06/form-checkout-vat-field-360x184.png 360w, https://agilestorelocator.com/wp-content/uploads/2026/06/form-checkout-vat-field-350x179.png 350w, https://agilestorelocator.com/wp-content/uploads/2026/06/form-checkout-vat-field-76x39.png 76w" sizes="(max-width: 742px) 100vw, 742px" /></figure>
</div>


<h3 class="wp-block-heading">Steps</h3>



<ol class="wp-block-list">
<li>Complete your billing information.</li>



<li>Enter your VAT number in the <strong>VAT Number</strong> field.</li>



<li>Click the <strong>Validate</strong> button.</li>



<li>Wait for the VAT number to be verified.</li>



<li>Complete the checkout process.</li>
</ol>



<h3 class="wp-block-heading">Important Notes</h3>



<ul class="wp-block-list">
<li>Make sure the billing country matches the country associated with your VAT registration.</li>



<li>Enter the VAT number in the correct format for your country.</li>



<li>The VAT number must be validated successfully before checkout is completed.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Option 2: Add VAT Number in the Paddle Payment Window</h2>



<p class="wp-block-paragraph">If the VAT field is not shown on the checkout form, you can add it directly within the Paddle payment pop-up.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="854" height="531" src="https://agilestorelocator.com/wp-content/uploads/2026/06/paddle-payment-vat-field.png" alt="paddle checkout vat field" class="wp-image-4367" title="Docs 2" srcset="https://agilestorelocator.com/wp-content/uploads/2026/06/paddle-payment-vat-field.png 854w, https://agilestorelocator.com/wp-content/uploads/2026/06/paddle-payment-vat-field-300x187.png 300w, https://agilestorelocator.com/wp-content/uploads/2026/06/paddle-payment-vat-field-768x478.png 768w, https://agilestorelocator.com/wp-content/uploads/2026/06/paddle-payment-vat-field-360x224.png 360w, https://agilestorelocator.com/wp-content/uploads/2026/06/paddle-payment-vat-field-350x218.png 350w, https://agilestorelocator.com/wp-content/uploads/2026/06/paddle-payment-vat-field-76x47.png 76w" sizes="(max-width: 854px) 100vw, 854px" /></figure>
</div>


<h3 class="wp-block-heading">Steps</h3>



<ol class="wp-block-list">
<li>Proceed to checkout and open the Paddle payment window.</li>



<li>In the <strong>Order Summary</strong> section, click <strong>Add VAT number</strong>.</li>



<li>Enter your VAT number when prompted.</li>



<li>Allow Paddle to validate the VAT number.</li>



<li>Once validated, continue with the payment process.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Troubleshooting VAT Validation</h2>



<p class="wp-block-paragraph">If your VAT number is not accepted:</p>



<ul class="wp-block-list">
<li>Verify that the VAT number is active and valid.</li>



<li>Ensure the billing country matches your VAT registration country.</li>



<li>Remove spaces or special characters if validation fails.</li>



<li>Double-check that the VAT number has been entered in the correct format.</li>
</ul>



<h3 class="wp-block-heading">Example</h3>



<p class="wp-block-paragraph">For Germany:</p>



<pre class="wp-block-prismatic-blocks"><code class="language-git" data-line="">DE123456789</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Need Help?</h2>



<p class="wp-block-paragraph">If you continue to experience VAT-related issues during checkout, please contact <strong><a>support@agilelogix.com</a></strong> and provide:</p>



<ul class="wp-block-list">
<li>Your VAT number (if applicable)</li>



<li>Billing country</li>



<li>A screenshot of the error message</li>



<li>The product you are attempting to purchase</li>
</ul>



<p class="wp-block-paragraph">Our team will review the issue and assist you with completing your purchase.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://agilestorelocator.com/wiki/vat-number-on-checkout/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>REST API Integration for Agile Store Locator</title>
		<link>https://agilestorelocator.com/wiki/rest-api-integration-for-agile-store-locator/</link>
					<comments>https://agilestorelocator.com/wiki/rest-api-integration-for-agile-store-locator/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 17 Jun 2026 10:07:35 +0000</pubDate>
				<guid isPermaLink="false">https://agilestorelocator.com/?post_type=docs&#038;p=4359</guid>

					<description><![CDATA[Learn how to connect and synchronize store locations from any REST API directly into Agile Store Locator using the Agile Sync Addon. This guide covers connection setup, authentication methods, field mapping, automatic synchronization, JSON and CSV support, and advanced developer hooks for importing custom data such as store hours and marker assignments. Whether you're integrating with a public API, Salesforce, or a custom system, Agile Sync makes location management simple and automated.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">The Agile Sync Addon allows you to synchronize store locations from virtually any REST API directly into Agile Store Locator. Instead of manually creating and updating store records, you can connect an external API, map its fields to Agile Store Locator fields, and automatically keep your store database synchronized.</p>



<p class="wp-block-paragraph">This integration is ideal for businesses that maintain store data in external systems, custom applications, CRMs, inventory systems, government databases, or third-party platforms.</p>



<h2 class="wp-block-heading">Supported Platforms</h2>



<p class="wp-block-paragraph">The Agile Sync Addon currently supports synchronization from:</p>



<ul class="wp-block-list">
<li>REST APIs</li>



<li>Google Sheets</li>



<li>SmartSheet</li>



<li>Salesforce</li>
</ul>



<p class="wp-block-paragraph">This guide focuses specifically on REST API integrations.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Benefits of REST API Integration</h2>



<p class="wp-block-paragraph">REST API synchronization provides several advantages:</p>



<ul class="wp-block-list">
<li>Automatically import store locations</li>



<li>Keep store data synchronized with external systems</li>



<li>Eliminate manual data entry</li>



<li>Update existing store records automatically</li>



<li>Import large location databases efficiently</li>



<li>Extend synchronization using developer hooks</li>



<li>Support custom authentication methods</li>



<li>Support JSON and CSV response formats</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Creating a REST API Synchronization Job</h2>



<p class="wp-block-paragraph">Navigate to:</p>



<p class="wp-block-paragraph"><strong>WordPress Dashboard → Agile Store Locator → Agile Sync</strong></p>



<p class="wp-block-paragraph">Click:</p>



<p class="wp-block-paragraph"><strong>Create New Job</strong></p>



<p class="wp-block-paragraph">This opens the Setup Connection screen.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Setup Connection</h2>



<p class="wp-block-paragraph">The Setup Connection screen is used to configure how Agile Sync communicates with the external API.</p>



<h2 class="wp-block-heading">API Title</h2>



<p class="wp-block-paragraph">Enter a descriptive name for the synchronization job.</p>



<p class="wp-block-paragraph">Example:</p>



<pre class="wp-block-code"><code class="" data-line="">National Parks API
</code></pre>



<p class="wp-block-paragraph">This title is only used internally to identify the synchronization job.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">Platform</h3>



<p class="wp-block-paragraph">Select the platform you want to connect.</p>



<p class="wp-block-paragraph">Available options:</p>



<ul class="wp-block-list">
<li>Google Sheets</li>



<li>SmartSheet</li>



<li>Salesforce</li>



<li>REST API</li>
</ul>



<p class="wp-block-paragraph">For this guide, select:</p>



<p class="wp-block-paragraph"><strong>REST API</strong></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">API Endpoint URL</h3>



<p class="wp-block-paragraph">Enter the URL that returns your store data.</p>



<p class="wp-block-paragraph">Example:</p>



<pre class="wp-block-code"><code class="" data-line="">https:&#047;&#047;developer.nps.gov/api/v1/parks?limit=100&amp;api_key=uiCREL5iS9wwGhksXyEogOEUtY0BeuXKyN1iFMFL
</code></pre>



<p class="wp-block-paragraph">Agile Sync will retrieve data from this endpoint during synchronization.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">HTTP Method</h3>



<p class="wp-block-paragraph">Choose the HTTP method required by your API.</p>



<p class="wp-block-paragraph">Common options include:</p>



<ul class="wp-block-list">
<li>GET</li>



<li>POST</li>



<li>PUT</li>



<li>PATCH</li>



<li>DELETE</li>
</ul>



<p class="wp-block-paragraph">Most location APIs use:</p>



<p class="wp-block-paragraph"><strong>GET</strong></p>



<p class="wp-block-paragraph">because they are only used to retrieve data.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Authentication Types</h2>



<p class="wp-block-paragraph">Agile Sync supports multiple authentication methods.</p>



<h3 class="wp-block-heading">None</h3>



<p class="wp-block-paragraph">Use this option when the API is publicly accessible and requires no authentication.</p>



<p class="wp-block-paragraph">Example:</p>



<pre class="wp-block-code"><code class="" data-line="">Authentication Type: None
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">API Key</h3>



<p class="wp-block-paragraph">Use API Key authentication when the API provider requires a key to access data.</p>



<p class="wp-block-paragraph">API keys are commonly used by:</p>



<ul class="wp-block-list">
<li>Google APIs</li>



<li>National Park Service APIs</li>



<li>Mapping services</li>



<li>Government APIs</li>
</ul>



<p class="wp-block-paragraph">The API key can usually be provided through URL parameters, headers, or request parameters.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Bearer Token</h2>



<p class="wp-block-paragraph">Use Bearer Token authentication when the API requires an access token.</p>



<p class="wp-block-paragraph">Example request header:</p>



<pre class="wp-block-code"><code class="" data-line="">Authorization: Bearer YOUR_ACCESS_TOKEN
</code></pre>



<p class="wp-block-paragraph">Bearer Tokens are commonly used for modern REST APIs and SaaS platforms.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">OAuth 2.0</h3>



<p class="wp-block-paragraph">OAuth 2.0 is commonly required for:</p>



<ul class="wp-block-list">
<li>Salesforce</li>



<li>Microsoft APIs</li>



<li>Enterprise APIs</li>



<li>Google Services</li>
</ul>



<p class="wp-block-paragraph">When OAuth 2.0 is selected, additional fields become available.</p>



<h3 class="wp-block-heading">Client ID</h3>



<p class="wp-block-paragraph">Enter the OAuth Client ID provided by the API provider.</p>



<h3 class="wp-block-heading">Client Secret</h3>



<p class="wp-block-paragraph">Enter the OAuth Client Secret.</p>



<h3 class="wp-block-heading">Username</h3>



<p class="wp-block-paragraph">Enter the username required for authentication.</p>



<h3 class="wp-block-heading">Password</h3>



<p class="wp-block-paragraph">Enter the corresponding password.</p>



<h3 class="wp-block-heading">Token URL</h3>



<p class="wp-block-paragraph">The Token URL is used to obtain and refresh OAuth access tokens.</p>



<p class="wp-block-paragraph">Example:</p>



<pre class="wp-block-code"><code class="" data-line="">https:&#047;&#047;login.salesforce.com/services/oauth2/token
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Request Configuration</h2>



<h3 class="wp-block-heading">Request Body (JSON)</h3>



<p class="wp-block-paragraph">Some APIs require a JSON payload to be sent with the request.</p>



<p class="wp-block-paragraph">Example:</p>



<pre class="wp-block-prismatic-blocks"><code class="" data-line="">{
  &quot;country&quot;: &quot;US&quot;,
  &quot;status&quot;: &quot;active&quot;
}</code></pre>



<p class="wp-block-paragraph">This is most commonly used with POST requests.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">Parameters (Key:Value)</h3>



<p class="wp-block-paragraph">Additional request parameters can be passed as key-value pairs.</p>



<p class="wp-block-paragraph">Example:</p>



<pre class="wp-block-prismatic-blocks"><code class="" data-line="">limit = 100
country = US
status = active</code></pre>



<p class="wp-block-paragraph">These values are automatically appended to the request.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Response Format</h2>



<p class="wp-block-paragraph">Agile Sync currently supports:</p>



<ul class="wp-block-list">
<li>JSON</li>



<li>CSV</li>
</ul>



<h3 class="wp-block-heading">JSON</h3>



<p class="wp-block-paragraph">JSON is the recommended format for most integrations.</p>



<p class="wp-block-paragraph">Example:</p>



<pre class="wp-block-prismatic-blocks"><code class="language-json" data-line="">{
  &quot;data&quot;: [
    {
      &quot;id&quot;: &quot;123&quot;,
      &quot;name&quot;: &quot;Store Name&quot;
    }
  ]
}</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">CSV</h3>



<p class="wp-block-paragraph">CSV can be used when the API returns comma-separated data.</p>



<p class="wp-block-paragraph">Example:</p>



<pre class="wp-block-prismatic-blocks"><code class="" data-line="">id,name,city
1,Store A,New York
2,Store B,Chicago</code></pre>



<p class="wp-block-paragraph">Agile Sync automatically parses CSV data and makes the fields available during field mapping.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Starting Field Mapping</h2>



<p class="wp-block-paragraph">Once the connection settings are configured, click:</p>



<p class="wp-block-paragraph"><strong>Start Mapping</strong></p>



<p class="wp-block-paragraph">Agile Sync will connect to the API and retrieve the available fields.</p>



<p class="wp-block-paragraph">These fields will appear in the mapping interface.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Mapping API Fields</h2>



<p class="wp-block-paragraph">The Field Mapping screen allows you to connect API fields to Agile Store Locator store fields.</p>



<h3 class="wp-block-heading">API Item ID</h3>



<p class="wp-block-paragraph">This is the most important field in the mapping process.</p>



<p class="wp-block-paragraph">The API Item ID must contain a unique value for each store.</p>



<p class="wp-block-paragraph">This unique identifier is used to:</p>



<ul class="wp-block-list">
<li>Prevent duplicate records</li>



<li>Match existing stores</li>



<li>Update stores during future synchronizations</li>
</ul>



<p class="wp-block-paragraph">Examples of suitable identifiers:</p>



<ul class="wp-block-list">
<li>Store ID</li>



<li>Location ID</li>



<li>Branch ID</li>



<li>UUID</li>



<li>External System ID</li>
</ul>



<p class="wp-block-paragraph">Never use a field that may contain duplicate values.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">Common Field Mappings</h3>



<p class="wp-block-paragraph">Typical mappings include:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Store Field</th><th>Example API Field</th></tr></thead><tbody><tr><td>API Item ID</td><td>id</td></tr><tr><td>Title</td><td>name</td></tr><tr><td>Latitude</td><td>latitude</td></tr><tr><td>Longitude</td><td>longitude</td></tr><tr><td>Street</td><td>address</td></tr><tr><td>City</td><td>city</td></tr><tr><td>State</td><td>state</td></tr><tr><td>Postal Code</td><td>postalCode</td></tr><tr><td>Country</td><td>country</td></tr><tr><td>Email</td><td>email</td></tr><tr><td>Phone</td><td>phone</td></tr><tr><td>Website</td><td>website</td></tr><tr><td>Description</td><td>description</td></tr><tr><td>Categories</td><td>category</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Once the mapping is complete, click:</p>



<p class="wp-block-paragraph"><strong>Save Mapping</strong></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Configuring Synchronization</h2>



<p class="wp-block-paragraph">The final step is configuring how often Agile Sync should run.</p>



<p class="wp-block-paragraph">Available frequencies include:</p>



<ul class="wp-block-list">
<li>Hourly</li>



<li>Daily</li>



<li>Weekly</li>
</ul>



<p class="wp-block-paragraph">You can also:</p>



<ul class="wp-block-list">
<li>Enable or disable the synchronization job</li>



<li>Receive email notifications</li>



<li>Automatically delete stores that no longer exist in the source API</li>
</ul>



<h3 class="wp-block-heading">Deletion Option</h3>



<p class="wp-block-paragraph">When enabled, Agile Sync will remove store records that are no longer present in the API response.</p>



<p class="wp-block-paragraph">Use this feature carefully, especially when synchronizing production data.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Running the Synchronization</h2>



<p class="wp-block-paragraph">After the synchronization job is saved, Agile Sync begins importing locations.</p>



<p class="wp-block-paragraph">Imported locations can be viewed under:</p>



<p class="wp-block-paragraph"><strong>Agile Store Locator → Manage Stores</strong></p>



<p class="wp-block-paragraph">Depending on the size of the API response, synchronization may take several moments to complete.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Example REST API Integration</h2>



<p class="wp-block-paragraph">The following National Park Service API can be used as a sample data source:</p>



<pre class="wp-block-code"><code class="" data-line="">https:&#047;&#047;developer.nps.gov/api/v1/parks?limit=100&amp;api_key=YOUR_API_KEY
</code></pre>



<p class="wp-block-paragraph">This API provides:</p>



<ul class="wp-block-list">
<li>Park Names</li>



<li>Coordinates</li>



<li>Addresses</li>



<li>Contact Information</li>



<li>Website URLs</li>



<li>Descriptions</li>



<li>Activities</li>



<li>Operating Hours</li>
</ul>



<p class="wp-block-paragraph">All of these fields can be synchronized directly into Agile Store Locator.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Advanced Custom Mapping with Developer Hooks</h2>



<p class="wp-block-paragraph">Sometimes APIs contain information that does not directly match Agile Store Locator fields.</p>



<p class="wp-block-paragraph">Examples include:</p>



<ul class="wp-block-list">
<li>Operating Hours</li>



<li>Special Attributes</li>



<li>Multiple Categories</li>



<li>Business Metadata</li>



<li>Custom Labels</li>
</ul>



<p class="wp-block-paragraph">For these scenarios, Agile Sync provides developer hooks that allow you to modify data before it is saved.</p>



<p class="wp-block-paragraph">Developer documentation:</p>



<p class="wp-block-paragraph"><a href="https://agilestorelocator.com/wiki/agile-sync-addon-developer-hooks-actions">https://agilestorelocator.com/wiki/agile-sync-addon-developer-hooks-actions</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Importing Open Hours from an API</h2>



<p class="wp-block-paragraph">Many APIs provide operating hours in a custom format.</p>



<p class="wp-block-paragraph">Using the following filter:</p>



<pre class="wp-block-prismatic-blocks"><code class="language-php" data-line="">add_filter(
    &#039;asl_sync_data_row_mapping&#039;,
    &#039;custom_mapping_function&#039;,
    10,
    2
);</code></pre>



<p class="wp-block-paragraph">developers can:</p>



<ul class="wp-block-list">
<li>Access raw API data</li>



<li>Transform values</li>



<li>Populate Open Hours</li>



<li>Modify store information before saving</li>
</ul>



<p class="wp-block-paragraph">This allows operating hours to be imported automatically during synchronization.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Assigning Custom Markers Automatically</h2>



<p class="wp-block-paragraph">Developer hooks can also be used to assign custom markers during synchronization.</p>



<p class="wp-block-paragraph">Example:</p>



<pre class="wp-block-code"><code class="" data-line="">$store_inst&#091;&#039;marker_id&#039;] = 151;
</code></pre>



<p class="wp-block-paragraph">This automatically applies Marker ID 151 to every imported location.</p>



<p class="wp-block-paragraph">No manual editing is required.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Recommended Configuration</h2>



<p class="wp-block-paragraph">For most REST API integrations, use:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Setting</th><th>Recommended Value</th></tr></thead><tbody><tr><td>Platform</td><td>REST API</td></tr><tr><td>HTTP Method</td><td>GET</td></tr><tr><td>Authentication</td><td>API Key or Bearer Token</td></tr><tr><td>Response Format</td><td>JSON</td></tr><tr><td>API Item ID</td><td>Unique Identifier</td></tr><tr><td>Frequency</td><td>Hourly or Daily</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Conclusion</h2>



<p class="wp-block-paragraph">The Agile Sync Addon makes it easy to connect Agile Store Locator with virtually any REST API. With support for multiple authentication methods, flexible field mapping, automatic synchronization schedules, JSON and CSV responses, and powerful developer hooks, you can maintain an accurate and up-to-date location database without manual updates.</p>



<p class="wp-block-paragraph">Whether you&#8217;re importing a few locations or thousands of records, REST API integration provides a scalable and automated solution for managing store data in Agile Store Locator.</p>



<h2 class="wp-block-heading">Video Tutorial</h2>



<figure class="wp-block-embed aligncenter is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="WordPress REST API Integration Tutorial | Sync Locations with Agile Store Locator" width="640" height="360" src="https://www.youtube.com/embed/yCtg6Mi12AQ?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://agilestorelocator.com/wiki/rest-api-integration-for-agile-store-locator/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<media:content url="https://www.youtube.com/embed/yCtg6Mi12AQ" medium="video" width="1280" height="720">
			<media:player url="https://www.youtube.com/embed/yCtg6Mi12AQ" />
			<media:title type="plain">WordPress REST API Integration Tutorial | Sync Locations with Agile Store Locator</media:title>
			<media:description type="html"><![CDATA[Learn how to synchronize store locations from any REST API directly into Agile Store Locator using the Agile Sync Addon.In this tutorial, we demonstrate how ...]]></media:description>
			<media:thumbnail url="https://agilestorelocator.com/wp-content/uploads/2026/06/WordPress-REST-API-Integration-Tutorial-Sync-Locations-with-Agile-Store-Locator.jpg" />
			<media:rating scheme="urn:simple">nonadult</media:rating>
		</media:content>
	</item>
		<item>
		<title>How to Add Multiple Contacts for One Store</title>
		<link>https://agilestorelocator.com/wiki/how-to-add-multiple-contacts-for-one-store/</link>
					<comments>https://agilestorelocator.com/wiki/how-to-add-multiple-contacts-for-one-store/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Mon, 23 Feb 2026 08:04:28 +0000</pubDate>
				<guid isPermaLink="false">https://agilestorelocator.com/?post_type=docs&#038;p=4215</guid>

					<description><![CDATA[Sometimes a store location needs more than one phone number or email address—for example a main number, support number, and general contact email. You can achieve this in Agile Store Locator by creating additional fields and displaying them in your locator template. This guide walks you through adding multiple phone numbers and emails for a ... <br><a href="https://agilestorelocator.com/wiki/how-to-add-multiple-contacts-for-one-store/" class="text-muted readmore">Read More <i data-feather="chevron-right" class="fea icon-sm"></i></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Sometimes a store location needs more than one phone number or email address—for example a main number, support number, and general contact email. You can achieve this in <em>Agile Store Locator</em> by creating additional fields and displaying them in your locator template.</p>



<p class="wp-block-paragraph">This guide walks you through adding <strong>multiple phone numbers and emails</strong> for a store and displaying them in your locator using the Template Customizer.</p>



<h3 class="wp-block-heading">What This Does</h3>



<p class="wp-block-paragraph">By default, each store can have one phone and one email. If you need more than one of each, follow these steps:</p>



<ul class="wp-block-list">
<li>Create extra contact fields</li>



<li>Enter the additional data</li>



<li>Update your template to display the extra contacts</li>
</ul>



<h3 class="wp-block-heading">Step 1 — Create Additional Contact Fields</h3>



<ol class="wp-block-list">
<li>Go to <strong>ASL Settings > Manage Additional Fields</strong> in your WordPress admin.</li>



<li>Click <strong>Add New Field</strong> to create a second phone number field:
<ul class="wp-block-list">
<li><strong>Label:</strong> Phone 2</li>



<li><strong>Control Name:</strong> <code class="" data-line="">phone_2</code></li>
</ul>
</li>



<li>Add another field for a second email:
<ul class="wp-block-list">
<li><strong>Label:</strong> Email 2</li>



<li><strong>Control Name:</strong> <code class="" data-line="">email_2</code></li>
</ul>
</li>



<li>Click <strong>Save Fields</strong>.</li>
</ol>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="260" src="https://agilestorelocator.com/wp-content/uploads/2026/02/custom-fields-manager-1024x260.png" alt="custom field manager" class="wp-image-4216" title="Docs 3" srcset="https://agilestorelocator.com/wp-content/uploads/2026/02/custom-fields-manager-1024x260.png 1024w, https://agilestorelocator.com/wp-content/uploads/2026/02/custom-fields-manager-300x76.png 300w, https://agilestorelocator.com/wp-content/uploads/2026/02/custom-fields-manager-768x195.png 768w, https://agilestorelocator.com/wp-content/uploads/2026/02/custom-fields-manager-360x91.png 360w, https://agilestorelocator.com/wp-content/uploads/2026/02/custom-fields-manager-350x89.png 350w, https://agilestorelocator.com/wp-content/uploads/2026/02/custom-fields-manager-76x19.png 76w, https://agilestorelocator.com/wp-content/uploads/2026/02/custom-fields-manager.png 1150w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<h3 class="wp-block-heading">Step 2 — Enter Additional Contact Data</h3>



<ol class="wp-block-list">
<li>Go to <strong>Stores</strong> and edit the store(s) where you want the extra contacts.</li>



<li>You will now see the new <strong>Phone 2</strong> and <strong>Email 2</strong> fields.</li>



<li>Enter the extra phone numbers and emails you want.</li>



<li>Save the store(s).</li>
</ol>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="898" height="182" src="https://agilestorelocator.com/wp-content/uploads/2026/02/secondary-contact-details.png" alt="secondary-contact-details" class="wp-image-4217" title="Docs 4" srcset="https://agilestorelocator.com/wp-content/uploads/2026/02/secondary-contact-details.png 898w, https://agilestorelocator.com/wp-content/uploads/2026/02/secondary-contact-details-300x61.png 300w, https://agilestorelocator.com/wp-content/uploads/2026/02/secondary-contact-details-768x156.png 768w, https://agilestorelocator.com/wp-content/uploads/2026/02/secondary-contact-details-360x73.png 360w, https://agilestorelocator.com/wp-content/uploads/2026/02/secondary-contact-details-350x71.png 350w, https://agilestorelocator.com/wp-content/uploads/2026/02/secondary-contact-details-76x15.png 76w" sizes="auto, (max-width: 898px) 100vw, 898px" /></figure>
</div>


<h3 class="wp-block-heading">Step 3 — Update Your Template</h3>



<p class="wp-block-paragraph">To display the new contact fields:</p>



<ol class="wp-block-list">
<li>Go to <strong>ASL Settings > Customizer</strong>.</li>



<li>Select the template you are using from the dropdown.</li>



<li>Click <strong>Load Template</strong> to load its HTML into the editor.</li>
</ol>



<p class="wp-block-paragraph">Locate the section where phone and email are output.</p>



<h4 class="wp-block-heading">Version A — Each Contact on Its Own Line</h4>



<p class="wp-block-paragraph">If you want each phone/email on its own line with individual icons:</p>



<pre class="wp-block-prismatic-blocks"><code class="language-markup" data-line="">{{if phone}}
&lt;li class=&quot;sl-phone&quot;&gt;
    &lt;i class=&quot;icon-mobile&quot;&gt;&lt;/i&gt;
    &lt;a href=&quot;tel:{{:phone}}&quot;&gt;{{:phone}}&lt;/a&gt;
&lt;/li&gt;
{{/if}}

{{if phone_2}}
&lt;li class=&quot;sl-phone-2&quot;&gt;
    &lt;i class=&quot;icon-mobile&quot;&gt;&lt;/i&gt;
    &lt;a href=&quot;tel:{{:phone_2}}&quot;&gt;{{:phone_2}}&lt;/a&gt;
&lt;/li&gt;
{{/if}}

{{if email}}
&lt;li class=&quot;sl-email&quot;&gt;
    &lt;i class=&quot;icon-mail&quot;&gt;&lt;/i&gt;
    &lt;a href=&quot;mailto:{{:email}}&quot;&gt;{{:email}}&lt;/a&gt;
&lt;/li&gt;
{{/if}}

{{if email_2}}
&lt;li class=&quot;sl-email-2&quot;&gt;
    &lt;i class=&quot;icon-mail&quot;&gt;&lt;/i&gt;
    &lt;a href=&quot;mailto:{{:email_2}}&quot;&gt;{{:email_2}}&lt;/a&gt;
&lt;/li&gt;
{{/if}}</code></pre>



<h4 class="wp-block-heading">Version B — Phones Together, Emails Together (Single Icon Per Line)</h4>



<p class="wp-block-paragraph">If you want the <strong>phones on the first line with one phone icon</strong> and the <strong>emails on a second line with one email icon</strong>, use this:</p>



<pre class="wp-block-prismatic-blocks"><code class="language-markup" data-line="">{{if phone || phone_2}}
&lt;li class=&quot;sl-phones&quot;&gt;
    &lt;i class=&quot;icon-mobile&quot;&gt;&lt;/i&gt;

    {{if phone}}
    &lt;a href=&quot;tel:{{:phone}}&quot; class=&quot;mr-2&quot;&gt;{{:phone}}&lt;/a&gt;
    {{/if}}

    {{if phone_2}}
    &lt;a href=&quot;tel:{{:phone_2}}&quot; class=&quot;mr-2&quot;&gt;{{:phone_2}}&lt;/a&gt;
    {{/if}}
&lt;/li&gt;
{{/if}}

{{if email || email_2}}
&lt;li class=&quot;sl-emails&quot;&gt;
    &lt;i class=&quot;icon-mail&quot;&gt;&lt;/i&gt;

    {{if email}}
    &lt;a href=&quot;mailto:{{:email}}&quot; class=&quot;mr-2&quot;&gt;{{:email}}&lt;/a&gt;
    {{/if}}

    {{if email_2}}
    &lt;a href=&quot;mailto:{{:email_2}}&quot; class=&quot;mr-2&quot;&gt;{{:email_2}}&lt;/a&gt;
    {{/if}}
&lt;/li&gt;
{{/if}}</code></pre>



<h3 class="wp-block-heading">Step 4 — Save Your Template</h3>



<p class="wp-block-paragraph">After adding either version of the code:</p>



<ol class="wp-block-list">
<li>Click <strong>Save Template</strong>.</li>



<li>Visit your store locator on the front end to confirm the new layout displays correctly.</li>
</ol>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="387" height="337" src="https://agilestorelocator.com/wp-content/uploads/2026/02/multiple-phone-numbers.png" alt="multiple phone numbers" class="wp-image-4218" title="Docs 5" srcset="https://agilestorelocator.com/wp-content/uploads/2026/02/multiple-phone-numbers.png 387w, https://agilestorelocator.com/wp-content/uploads/2026/02/multiple-phone-numbers-300x261.png 300w, https://agilestorelocator.com/wp-content/uploads/2026/02/multiple-phone-numbers-360x313.png 360w, https://agilestorelocator.com/wp-content/uploads/2026/02/multiple-phone-numbers-302x263.png 302w, https://agilestorelocator.com/wp-content/uploads/2026/02/multiple-phone-numbers-65x57.png 65w" sizes="auto, (max-width: 387px) 100vw, 387px" /></figure>
</div>]]></content:encoded>
					
					<wfw:commentRss>https://agilestorelocator.com/wiki/how-to-add-multiple-contacts-for-one-store/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to Handle Multiple Stores at the Same Address (Overlapping Markers)</title>
		<link>https://agilestorelocator.com/wiki/how-to-handle-multiple-stores-at-the-same-address-overlapping-markers/</link>
					<comments>https://agilestorelocator.com/wiki/how-to-handle-multiple-stores-at-the-same-address-overlapping-markers/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 06 Feb 2026 10:26:43 +0000</pubDate>
				<guid isPermaLink="false">https://agilestorelocator.com/?post_type=docs&#038;p=4206</guid>

					<description><![CDATA[When you have multiple stores located in the same building or exact address, their map markers may appear stacked on top of each other. This can make it difficult for users to click or distinguish between different stores — especially if each store uses a different icon. At the moment, Agile Store Locator places one ... <br><a href="https://agilestorelocator.com/wiki/how-to-handle-multiple-stores-at-the-same-address-overlapping-markers/" class="text-muted readmore">Read More <i data-feather="chevron-right" class="fea icon-sm"></i></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">When you have <strong>multiple stores located in the same building or exact address</strong>, their map markers may appear <strong>stacked on top of each other</strong>. This can make it difficult for users to click or distinguish between different stores — especially if each store uses a different icon.</p>



<p class="wp-block-paragraph">At the moment, Agile Store Locator places one marker per exact latitude/longitude. If multiple stores share the same coordinates, the markers will overlap.</p>



<h3 class="wp-block-heading">Recommended Solution: Slightly Adjust Store Position Manually</h3>



<p class="wp-block-paragraph">You can easily fix this by <strong>slightly offsetting one or more store locations</strong> directly from the store editor. This keeps the stores visually side by side on the map while still representing the same building.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="651" height="585" src="https://agilestorelocator.com/wp-content/uploads/2026/02/drag-the-marker.gif" alt="drag the marker" class="wp-image-4207" title="Docs 6"></figure>
</div>


<h3 class="wp-block-heading">Step-by-Step: Offset Store Markers in the Same Building</h3>



<p class="wp-block-paragraph"><strong>1- Open the Store Editor</strong></p>



<ul class="wp-block-list">
<li>Go to <strong>Agile Store Locator → Manage Stores</strong></li>



<li>Edit <strong>one of the stores</strong> that shares the same address</li>
</ul>



<p class="wp-block-paragraph"><strong>2- Fully Zoom Into the Location</strong></p>



<ul class="wp-block-list">
<li>In the map inside the store editor, <strong>zoom in as much as possible</strong></li>



<li>This gives you precise control over marker placement</li>
</ul>



<p class="wp-block-paragraph"><strong>3- Slightly Drag the Marker</strong></p>



<ul class="wp-block-list">
<li>Click and <strong>drag the marker just a little away</strong> from its current position</li>



<li>The movement should be very small — just enough to avoid overlap</li>



<li>The store will still appear in the same building visually</li>
</ul>



<p class="wp-block-paragraph"><strong>4- Save the Store</strong></p>



<ul class="wp-block-list">
<li>Click <strong>Save Store</strong></li>



<li>Repeat the same steps for other stores if needed</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">Result</h3>



<ul class="wp-block-list">
<li>Store icons will appear <strong>side by side instead of overlapping</strong></li>



<li>Each store remains clickable and visually distinct</li>



<li>Works perfectly with <strong>different marker icons</strong></li>



<li>No custom code or configuration required</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">Important Notes</h3>



<ul class="wp-block-list">
<li>This is a <strong>visual adjustment only</strong> — it does not affect store address data</li>



<li>Best practice for:
<ul class="wp-block-list">
<li>Malls</li>



<li>Office buildings</li>



<li>Hospitals</li>



<li>Shared commercial locations</li>
</ul>
</li>



<li>The offset should be minimal to maintain accurate map representation</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://agilestorelocator.com/wiki/how-to-handle-multiple-stores-at-the-same-address-overlapping-markers/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to Fetch Store Coordinates Using Agile Sync Addon</title>
		<link>https://agilestorelocator.com/wiki/how-to-fetch-store-coordinates-using-agile-sync-addon/</link>
					<comments>https://agilestorelocator.com/wiki/how-to-fetch-store-coordinates-using-agile-sync-addon/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 03 Feb 2026 10:20:25 +0000</pubDate>
				<guid isPermaLink="false">https://agilestorelocator.com/?post_type=docs&#038;p=4202</guid>

					<description><![CDATA[When syncing store data using the Agile Sync Addon, some external APIs may not provide latitude and longitude values. In such cases, the addon can automatically fetch coordinates for you using the Google Geocoding API, based on the store’s address. This ensures your stores appear correctly on the map—even when coordinates are missing from the ... <br><a href="https://agilestorelocator.com/wiki/how-to-fetch-store-coordinates-using-agile-sync-addon/" class="text-muted readmore">Read More <i data-feather="chevron-right" class="fea icon-sm"></i></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">When syncing store data using the <strong>Agile Sync Addon</strong>, some external APIs may <strong>not provide latitude and longitude values</strong>. In such cases, the addon can automatically fetch coordinates for you using the <strong>Google Geocoding API</strong>, based on the store’s address.</p>



<p class="wp-block-paragraph">This ensures your stores appear correctly on the map—even when coordinates are missing from the source data.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">When Do You Need This Feature?</h3>



<p class="wp-block-paragraph">You should enable coordinate fetching if:</p>



<ul class="wp-block-list">
<li>Your external API <strong>does not return latitude and longitude</strong></li>



<li>Your store records include address fields like:
<ul class="wp-block-list">
<li>Street</li>



<li>City</li>



<li>State</li>



<li>Postal Code</li>



<li>Country</li>
</ul>
</li>
</ul>



<p class="wp-block-paragraph">Agile Sync Addon uses these fields to generate accurate coordinates via Google Geocoding.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">How Agile Sync Addon Fetches Coordinates</h3>



<p class="wp-block-paragraph">When coordinates are missing:</p>



<ol class="wp-block-list">
<li>Agile Sync Addon sends the full address to the <strong>Google Geocoding API</strong></li>



<li>Google returns the latitude and longitude</li>



<li>The addon automatically saves those values with the store record</li>
</ol>



<p class="wp-block-paragraph">No manual intervention is required once configured correctly.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">Required Configuration (Very Important)</h3>



<p class="wp-block-paragraph">Before enabling this feature, make sure <strong>both</strong> requirements below are met.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h4 class="wp-block-heading">Google Server API Key Must Be Properly Configured</h4>



<p class="wp-block-paragraph">Your <strong>Google Server API Key</strong> must:</p>



<ul class="wp-block-list">
<li>Be <strong>enabled and active</strong></li>



<li>Have <strong>NO HTTP referrer restrictions</strong></li>



<li>Have <strong>Geocoding API enabled</strong></li>
</ul>



<p class="wp-block-paragraph">If your key is restricted or misconfigured, coordinates will not be fetched.</p>



<p class="wp-block-paragraph">Follow this step-by-step guide to fix it:<br><a href="https://agilestorelocator.com/wiki/google-server-api-key-troubleshooting/">https://agilestorelocator.com/wiki/google-server-api-key-troubleshooting/</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h4 class="wp-block-heading">Do NOT Map Latitude &amp; Longitude Fields</h4>



<p class="wp-block-paragraph">If your external API does not provide coordinates:</p>



<ul class="wp-block-list">
<li>Do <strong>not</strong> map <code class="" data-line="">lat</code> or <code class="" data-line="">lng</code> fields in the Agile Sync Addon field mapping</li>



<li>Leave latitude and longitude <strong>unmapped</strong></li>
</ul>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="354" src="https://agilestorelocator.com/wp-content/uploads/2026/02/dont-map-the-coordinates-field-1024x354.png" alt="Coordinates field agile sync addon" class="wp-image-4203" title="Docs 7" srcset="https://agilestorelocator.com/wp-content/uploads/2026/02/dont-map-the-coordinates-field-1024x354.png 1024w, https://agilestorelocator.com/wp-content/uploads/2026/02/dont-map-the-coordinates-field-300x104.png 300w, https://agilestorelocator.com/wp-content/uploads/2026/02/dont-map-the-coordinates-field-768x265.png 768w, https://agilestorelocator.com/wp-content/uploads/2026/02/dont-map-the-coordinates-field-360x124.png 360w, https://agilestorelocator.com/wp-content/uploads/2026/02/dont-map-the-coordinates-field-350x121.png 350w, https://agilestorelocator.com/wp-content/uploads/2026/02/dont-map-the-coordinates-field-76x26.png 76w, https://agilestorelocator.com/wp-content/uploads/2026/02/dont-map-the-coordinates-field.png 1273w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph">This allows Agile Sync to detect missing coordinates and fetch them automatically.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">Important Note for Existing Sync Jobs</h3>



<p class="wp-block-paragraph">If you already have an <strong>existing Agile Sync job</strong>, coordinate fetching may <strong>not run</strong> due to timestamp validation.</p>



<h4 class="wp-block-heading">Why This Happens</h4>



<p class="wp-block-paragraph">If the <strong>“Last Modified”</strong> field is mapped:</p>



<ul class="wp-block-list">
<li>Agile Sync only updates records when the external API provides a <strong>newer timestamp</strong></li>



<li>Existing records without updated timestamps will <strong>not refresh coordinates</strong></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">Recommended Solution (Clean Reset)</h3>



<p class="wp-block-paragraph">To ensure coordinates are fetched correctly:</p>



<ol class="wp-block-list">
<li>Go to <strong>Agile Store Locator → Import / Export</strong></li>



<li><strong>Delete all existing stores</strong></li>



<li>Delete the <strong>existing Agile Sync job</strong></li>



<li>Create a <strong>new Agile Sync job</strong></li>



<li>Ensure:
<ul class="wp-block-list">
<li>Latitude &amp; longitude are <strong>not mapped</strong></li>



<li>Google Server API key is properly configured</li>
</ul>
</li>



<li>Run the new sync</li>
</ol>



<p class="wp-block-paragraph">This forces all records to be reprocessed and coordinates to be generated correctly.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://agilestorelocator.com/wiki/how-to-fetch-store-coordinates-using-agile-sync-addon/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to Link WePOS with Multi-Store Addons for WooCommerce</title>
		<link>https://agilestorelocator.com/wiki/how-to-link-wepos-with-multi-store-addons-for-woocommerce/</link>
					<comments>https://agilestorelocator.com/wiki/how-to-link-wepos-with-multi-store-addons-for-woocommerce/#respond</comments>
		
		<dc:creator><![CDATA[Talha Nadeem]]></dc:creator>
		<pubDate>Mon, 05 Jan 2026 07:42:03 +0000</pubDate>
				<guid isPermaLink="false">https://agilestorelocator.com/?post_type=docs&#038;p=4167</guid>

					<description><![CDATA[This guide explains how to connect WePOS with the Multi-Store Addons for WooCommerce, allowing you to manage product prices and stock centrally across multiple outlets. Prerequisites Before you begin, make sure: Step-by-Step Guide Step 1: Enable the &#8220;WePOS Integration&#8221; Option on Multi Store Addons for WooCommerce The first thing you will need to do is ... <br><a href="https://agilestorelocator.com/wiki/how-to-link-wepos-with-multi-store-addons-for-woocommerce/" class="text-muted readmore">Read More <i data-feather="chevron-right" class="fea icon-sm"></i></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">This guide explains how to connect WePOS with the Multi-Store Addons for WooCommerce, allowing you to manage product prices and stock centrally across multiple outlets.</p>



<h2 class="wp-block-heading"><strong>Prerequisites</strong></h2>



<h3 class="wp-block-heading"><strong>Before you begin, make sure:</strong></h3>



<ul class="wp-block-list">
<li>WordPress and WooCommerce are installed and activated<br></li>



<li>Multi Store Addons for WooCommerce is installed and configured<br></li>



<li>WePOS plugin is installed<br></li>



<li>You have administrator access to WordPress</li>
</ul>



<h2 class="wp-block-heading"><strong>Step-by-Step Guide</strong></h2>



<h3 class="wp-block-heading">Step 1: Enable the &#8220;WePOS Integration&#8221; Option on Multi Store Addons for WooCommerce</h3>



<p class="wp-block-paragraph">The first thing you will need to do is to enable the &#8220;WePOS Integration&#8221; option in Multi Store Addons for WooCommerce. To do this, please follow the steps below:</p>



<ol class="wp-block-list">
<li>From the WordPress dashboard, go to the &#8220;A Store Locator&#8221; plugin and click on the &#8220;WooCommerce&#8221; tab</li>



<li>Go to the Inventory tab<br><img loading="lazy" decoding="async" width="1036" height="629" class="wp-image-4181" style="" src="https://agilestorelocator.com/wp-content/uploads/2026/01/inventory.png" alt="inventory" title="Docs 8" srcset="https://agilestorelocator.com/wp-content/uploads/2026/01/inventory.png 1036w, https://agilestorelocator.com/wp-content/uploads/2026/01/inventory-300x182.png 300w, https://agilestorelocator.com/wp-content/uploads/2026/01/inventory-1024x622.png 1024w, https://agilestorelocator.com/wp-content/uploads/2026/01/inventory-768x466.png 768w, https://agilestorelocator.com/wp-content/uploads/2026/01/inventory-360x219.png 360w, https://agilestorelocator.com/wp-content/uploads/2026/01/inventory-350x213.png 350w, https://agilestorelocator.com/wp-content/uploads/2026/01/inventory-76x46.png 76w" sizes="auto, (max-width: 1036px) 100vw, 1036px" /></li>



<li>Enable the &#8220;WePOS integration&#8221; option<br><img loading="lazy" decoding="async" width="1067" height="689" class="wp-image-4182" style="" src="https://agilestorelocator.com/wp-content/uploads/2026/01/weposintegration.png" alt="weposintegration" title="Docs 9" srcset="https://agilestorelocator.com/wp-content/uploads/2026/01/weposintegration.png 1067w, https://agilestorelocator.com/wp-content/uploads/2026/01/weposintegration-300x194.png 300w, https://agilestorelocator.com/wp-content/uploads/2026/01/weposintegration-1024x661.png 1024w, https://agilestorelocator.com/wp-content/uploads/2026/01/weposintegration-768x496.png 768w, https://agilestorelocator.com/wp-content/uploads/2026/01/weposintegration-360x232.png 360w, https://agilestorelocator.com/wp-content/uploads/2026/01/weposintegration-350x226.png 350w, https://agilestorelocator.com/wp-content/uploads/2026/01/weposintegration-76x49.png 76w" sizes="auto, (max-width: 1067px) 100vw, 1067px" /></li>
</ol>



<h3 class="wp-block-heading"><strong>Step 2: Install the WePOS Plugin</strong></h3>



<ol class="wp-block-list">
<li>Log in to your WordPress Admin Dashboard</li>



<li>Navigate to Plugins → Add New</li>



<li>Search for WePOS<br><img loading="lazy" decoding="async" width="1769" height="673" class="wp-image-4168" style="" src="https://agilestorelocator.com/wp-content/uploads/2026/01/wepos-plugin.png" alt="wepos plugin" title="Docs 10" srcset="https://agilestorelocator.com/wp-content/uploads/2026/01/wepos-plugin.png 1769w, https://agilestorelocator.com/wp-content/uploads/2026/01/wepos-plugin-300x114.png 300w, https://agilestorelocator.com/wp-content/uploads/2026/01/wepos-plugin-1024x390.png 1024w, https://agilestorelocator.com/wp-content/uploads/2026/01/wepos-plugin-768x292.png 768w, https://agilestorelocator.com/wp-content/uploads/2026/01/wepos-plugin-1536x584.png 1536w, https://agilestorelocator.com/wp-content/uploads/2026/01/wepos-plugin-360x137.png 360w, https://agilestorelocator.com/wp-content/uploads/2026/01/wepos-plugin-350x133.png 350w, https://agilestorelocator.com/wp-content/uploads/2026/01/wepos-plugin-76x29.png 76w" sizes="auto, (max-width: 1769px) 100vw, 1769px" /><br></li>



<li>Click Install Now, then Activate</li>



<li>Once activated, you will see WePOS in the WordPress menu</li>
</ol>



<p class="wp-block-paragraph">WePOS enables point-of-sale functionality directly inside WooCommerce.</p>



<h3 class="wp-block-heading"><strong>Step 3: Add An Outlet on WePOS</strong></h3>



<ol class="wp-block-list">
<li>Go to WePOS → Outlets</li>



<li>Click on “Add Outlet”, fill in the information, and click on “Create Outlet”<br><img loading="lazy" decoding="async" width="607" height="224" class="wp-image-4169" style="" src="https://agilestorelocator.com/wp-content/uploads/2026/01/addoutlet.png" alt="addoutlet" title="Docs 11" srcset="https://agilestorelocator.com/wp-content/uploads/2026/01/addoutlet.png 607w, https://agilestorelocator.com/wp-content/uploads/2026/01/addoutlet-300x111.png 300w, https://agilestorelocator.com/wp-content/uploads/2026/01/addoutlet-360x133.png 360w, https://agilestorelocator.com/wp-content/uploads/2026/01/addoutlet-350x129.png 350w, https://agilestorelocator.com/wp-content/uploads/2026/01/addoutlet-76x28.png 76w" sizes="auto, (max-width: 607px) 100vw, 607px" /></li>
</ol>



<h3 class="wp-block-heading"><strong>Step 4: Assign a Counter and Cashier to Your Outlet</strong></h3>



<ol class="wp-block-list">
<li>Next to the newly created outlet, click on the three-dot menu button, and click on &#8220;Add Counter&#8221;</li>



<li>Enter the counter name and number, and click on “Add Counter”</li>



<li>Next, click on the three-dot menu button, and click on “Add Cashier”</li>



<li>Select a Cashier and click on “Assign Cashier&#8221;<br><img loading="lazy" decoding="async" width="1369" height="758" class="wp-image-4170" style="" src="https://agilestorelocator.com/wp-content/uploads/2026/01/counterandcashier.png" alt="counterandcashier" title="Docs 12" srcset="https://agilestorelocator.com/wp-content/uploads/2026/01/counterandcashier.png 1369w, https://agilestorelocator.com/wp-content/uploads/2026/01/counterandcashier-300x166.png 300w, https://agilestorelocator.com/wp-content/uploads/2026/01/counterandcashier-1024x567.png 1024w, https://agilestorelocator.com/wp-content/uploads/2026/01/counterandcashier-768x425.png 768w, https://agilestorelocator.com/wp-content/uploads/2026/01/counterandcashier-360x199.png 360w, https://agilestorelocator.com/wp-content/uploads/2026/01/counterandcashier-350x194.png 350w, https://agilestorelocator.com/wp-content/uploads/2026/01/counterandcashier-76x42.png 76w" sizes="auto, (max-width: 1369px) 100vw, 1369px" /><strong><br></strong></li>
</ol>



<p class="wp-block-paragraph">Now, a counter and cashier are assigned to the outlet you just created.</p>



<p class="wp-block-paragraph">Counters represent physical POS terminals, while cashiers are the users operating them.</p>



<h3 class="wp-block-heading">Step 5: Link a store with WePOS</h3>



<p class="wp-block-paragraph">The next step is to link one of your stores with WePOS. To do this, please follow the steps below:</p>



<ol class="wp-block-list">
<li>Go to the WordPress dashboard, navigate to the Agile Store Locator plugin, and click on &#8220;Manage Stores&#8221;</li>



<li>Locate the store you want to link to WePOS and click on the &#8220;edit&#8221; icon<br><img loading="lazy" decoding="async" width="1290" height="909" class="wp-image-4183" style="" src="https://agilestorelocator.com/wp-content/uploads/2026/01/managestores.png" alt="managestores" title="Docs 13" srcset="https://agilestorelocator.com/wp-content/uploads/2026/01/managestores.png 1290w, https://agilestorelocator.com/wp-content/uploads/2026/01/managestores-300x211.png 300w, https://agilestorelocator.com/wp-content/uploads/2026/01/managestores-1024x722.png 1024w, https://agilestorelocator.com/wp-content/uploads/2026/01/managestores-768x541.png 768w, https://agilestorelocator.com/wp-content/uploads/2026/01/managestores-360x254.png 360w, https://agilestorelocator.com/wp-content/uploads/2026/01/managestores-350x247.png 350w, https://agilestorelocator.com/wp-content/uploads/2026/01/managestores-76x54.png 76w" sizes="auto, (max-width: 1290px) 100vw, 1290px" /></li>



<li>Go to the WooCommerce tab </li>



<li>Assign an outlet to this store using the &#8220;WePOS Outlet&#8221; field</li>



<li>Click on &#8220;Update Store&#8221;<br><img loading="lazy" decoding="async" width="1694" height="791" class="wp-image-4184" style="" src="https://agilestorelocator.com/wp-content/uploads/2026/01/linkstore.png" alt="linkstore" title="Docs 14" srcset="https://agilestorelocator.com/wp-content/uploads/2026/01/linkstore.png 1694w, https://agilestorelocator.com/wp-content/uploads/2026/01/linkstore-300x140.png 300w, https://agilestorelocator.com/wp-content/uploads/2026/01/linkstore-1024x478.png 1024w, https://agilestorelocator.com/wp-content/uploads/2026/01/linkstore-768x359.png 768w, https://agilestorelocator.com/wp-content/uploads/2026/01/linkstore-1536x717.png 1536w, https://agilestorelocator.com/wp-content/uploads/2026/01/linkstore-360x168.png 360w, https://agilestorelocator.com/wp-content/uploads/2026/01/linkstore-350x163.png 350w, https://agilestorelocator.com/wp-content/uploads/2026/01/linkstore-76x35.png 76w" sizes="auto, (max-width: 1694px) 100vw, 1694px" /></li>
</ol>



<p class="wp-block-paragraph">Once this is done, the WePOS outlet will be linked to the store you assigned it to. </p>



<p class="wp-block-paragraph">Now you can go to the POS interface and manage the products that are assigned to this store.</p>



<h3 class="wp-block-heading"><strong>Step 6: Go to View POS</strong></h3>



<ol class="wp-block-list">
<li><strong>Navigate to WePOS → View POS</strong><br><img loading="lazy" decoding="async" width="745" height="467" class="wp-image-4171" style="" src="https://agilestorelocator.com/wp-content/uploads/2026/01/viewpos.png" alt="viewpos" title="Docs 15" srcset="https://agilestorelocator.com/wp-content/uploads/2026/01/viewpos.png 745w, https://agilestorelocator.com/wp-content/uploads/2026/01/viewpos-300x188.png 300w, https://agilestorelocator.com/wp-content/uploads/2026/01/viewpos-360x226.png 360w, https://agilestorelocator.com/wp-content/uploads/2026/01/viewpos-350x219.png 350w, https://agilestorelocator.com/wp-content/uploads/2026/01/viewpos-76x48.png 76w" sizes="auto, (max-width: 745px) 100vw, 745px" /><strong><br></strong></li>



<li>Log in using the outlet and counter credentials you created earlier<br><img loading="lazy" decoding="async" width="724" height="532" class="wp-image-4172" style="" src="https://agilestorelocator.com/wp-content/uploads/2026/01/login.png" alt="login" title="Docs 16" srcset="https://agilestorelocator.com/wp-content/uploads/2026/01/login.png 724w, https://agilestorelocator.com/wp-content/uploads/2026/01/login-300x220.png 300w, https://agilestorelocator.com/wp-content/uploads/2026/01/login-360x265.png 360w, https://agilestorelocator.com/wp-content/uploads/2026/01/login-350x257.png 350w, https://agilestorelocator.com/wp-content/uploads/2026/01/login-76x57.png 76w" sizes="auto, (max-width: 724px) 100vw, 724px" /><strong><br></strong></li>
</ol>



<p class="wp-block-paragraph">This will open the WePOS interface, where sales transactions are processed.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="528" src="https://agilestorelocator.com/wp-content/uploads/2026/01/posinterface-1024x528.jpg" alt="posinterface" class="wp-image-4173" title="Docs 17" srcset="https://agilestorelocator.com/wp-content/uploads/2026/01/posinterface-1024x528.jpg 1024w, https://agilestorelocator.com/wp-content/uploads/2026/01/posinterface-300x155.jpg 300w, https://agilestorelocator.com/wp-content/uploads/2026/01/posinterface-768x396.jpg 768w, https://agilestorelocator.com/wp-content/uploads/2026/01/posinterface-1536x792.jpg 1536w, https://agilestorelocator.com/wp-content/uploads/2026/01/posinterface-360x186.jpg 360w, https://agilestorelocator.com/wp-content/uploads/2026/01/posinterface-350x180.jpg 350w, https://agilestorelocator.com/wp-content/uploads/2026/01/posinterface-76x39.jpg 76w, https://agilestorelocator.com/wp-content/uploads/2026/01/posinterface.jpg 1910w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">This step ensures that sales, stock, and pricing data sync correctly with the chosen outlet.</p>



<h3 class="wp-block-heading"><strong>Step 7: Change Product Prices and Stock via CentralStock</strong></h3>



<ol class="wp-block-list">
<li>Go to A Store Locator Plugin → Central Stock<br><img loading="lazy" decoding="async" width="206" height="761" class="wp-image-4174" style="" src="https://agilestorelocator.com/wp-content/uploads/2026/01/centralstock2.png" alt="centralstock2" title="Docs 18" srcset="https://agilestorelocator.com/wp-content/uploads/2026/01/centralstock2.png 206w, https://agilestorelocator.com/wp-content/uploads/2026/01/centralstock2-81x300.png 81w, https://agilestorelocator.com/wp-content/uploads/2026/01/centralstock2-139x512.png 139w, https://agilestorelocator.com/wp-content/uploads/2026/01/centralstock2-71x263.png 71w" sizes="auto, (max-width: 206px) 100vw, 206px" /></li>



<li>Locate the product you want to change the price and/or inventory for</li>



<li>Click on “update” next to the correct store location<br><img loading="lazy" decoding="async" width="1902" height="948" class="wp-image-4175" style="" src="https://agilestorelocator.com/wp-content/uploads/2026/01/centralstock.png" alt="centralstock" title="Docs 19" srcset="https://agilestorelocator.com/wp-content/uploads/2026/01/centralstock.png 1902w, https://agilestorelocator.com/wp-content/uploads/2026/01/centralstock-300x150.png 300w, https://agilestorelocator.com/wp-content/uploads/2026/01/centralstock-1024x510.png 1024w, https://agilestorelocator.com/wp-content/uploads/2026/01/centralstock-768x383.png 768w, https://agilestorelocator.com/wp-content/uploads/2026/01/centralstock-1536x766.png 1536w, https://agilestorelocator.com/wp-content/uploads/2026/01/centralstock-360x179.png 360w, https://agilestorelocator.com/wp-content/uploads/2026/01/centralstock-350x174.png 350w, https://agilestorelocator.com/wp-content/uploads/2026/01/centralstock-76x38.png 76w" sizes="auto, (max-width: 1902px) 100vw, 1902px" /></li>



<li>Update:<strong><br></strong>
<ul class="wp-block-list">
<li>Product prices</li>



<li>Stock quantities<strong><br></strong></li>
</ul>
</li>



<li>Click on &#8220;Update Inventory&#8221; to save the changes<br><img loading="lazy" decoding="async" width="1698" height="952" class="wp-image-4176" style="" src="https://agilestorelocator.com/wp-content/uploads/2026/01/priceupdate.png" alt="priceupdate" title="Docs 20" srcset="https://agilestorelocator.com/wp-content/uploads/2026/01/priceupdate.png 1698w, https://agilestorelocator.com/wp-content/uploads/2026/01/priceupdate-300x168.png 300w, https://agilestorelocator.com/wp-content/uploads/2026/01/priceupdate-1024x574.png 1024w, https://agilestorelocator.com/wp-content/uploads/2026/01/priceupdate-768x431.png 768w, https://agilestorelocator.com/wp-content/uploads/2026/01/priceupdate-1536x861.png 1536w, https://agilestorelocator.com/wp-content/uploads/2026/01/priceupdate-360x202.png 360w, https://agilestorelocator.com/wp-content/uploads/2026/01/priceupdate-350x196.png 350w, https://agilestorelocator.com/wp-content/uploads/2026/01/priceupdate-76x43.png 76w" sizes="auto, (max-width: 1698px) 100vw, 1698px" /><strong><br></strong></li>
</ol>



<p class="wp-block-paragraph">Once you make changes to the product price and inventory, all updates will automatically reflect in:</p>



<ul class="wp-block-list">
<li>WePOS</li>



<li>WooCommerce product listings</li>



<li>Assigned store/outlet inventory</li>
</ul>



<h2 class="wp-block-heading"><strong>Result</strong></h2>



<p class="wp-block-paragraph">After completing the above steps:</p>



<ul class="wp-block-list">
<li>WePOS is fully linked with Multi-Store Addons for WooCommerce<strong><br></strong></li>



<li>Product prices and stock are managed from one central location (Central Stock Section)<strong><br></strong></li>



<li>POS transactions update inventory in real time across all outlets</li>
</ul>



<h2 class="wp-block-heading">Order Summary</h2>



<p class="wp-block-paragraph">Once you complete a transaction using WePOS, you can view the transaction details by following the steps below:</p>



<ol class="wp-block-list">
<li>Go to the WordPress dashboard</li>



<li>Head over to the WooCommerce plugin, and click on &#8220;Orders&#8221;</li>



<li>Open the latest transaction and view the transaction details<br><img loading="lazy" decoding="async" width="1563" height="823" class="wp-image-4177" style="" src="https://agilestorelocator.com/wp-content/uploads/2026/01/ordersummary.png" alt="ordersummary" title="Docs 21" srcset="https://agilestorelocator.com/wp-content/uploads/2026/01/ordersummary.png 1563w, https://agilestorelocator.com/wp-content/uploads/2026/01/ordersummary-300x158.png 300w, https://agilestorelocator.com/wp-content/uploads/2026/01/ordersummary-1024x539.png 1024w, https://agilestorelocator.com/wp-content/uploads/2026/01/ordersummary-768x404.png 768w, https://agilestorelocator.com/wp-content/uploads/2026/01/ordersummary-1536x809.png 1536w, https://agilestorelocator.com/wp-content/uploads/2026/01/ordersummary-360x190.png 360w, https://agilestorelocator.com/wp-content/uploads/2026/01/ordersummary-350x184.png 350w, https://agilestorelocator.com/wp-content/uploads/2026/01/ordersummary-76x40.png 76w" sizes="auto, (max-width: 1563px) 100vw, 1563px" /></li>
</ol>



<h2 class="wp-block-heading">Video</h2>



<p class="wp-block-paragraph">For a more detailed demo on how to link WePOS with Multi Store addons for WooCommerce, and how to update product prices and stock using the central stock section, please see the video below.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://agilestorelocator.com/wiki/how-to-link-wepos-with-multi-store-addons-for-woocommerce/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to Add Agile Store Locator Using Elementor</title>
		<link>https://agilestorelocator.com/wiki/how-to-add-agile-store-locator-using-elementor/</link>
					<comments>https://agilestorelocator.com/wiki/how-to-add-agile-store-locator-using-elementor/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 18 Dec 2025 10:58:18 +0000</pubDate>
				<guid isPermaLink="false">https://agilestorelocator.com/?post_type=docs&#038;p=4153</guid>

					<description><![CDATA[This guide explains how to add Agile Store Locator to a page using Elementor in a safe and supported way. Step-by-Step Instructions Important Notice About Elementor HTML Widget]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">This guide explains how to add <strong>Agile Store Locator</strong> to a page using <strong>Elementor</strong> in a safe and supported way.</p>



<h3 class="wp-block-heading">Step-by-Step Instructions</h3>



<ol class="wp-block-list">
<li><strong>Open the page in Elementor</strong>
<ul class="wp-block-list">
<li>Go to <strong>Pages → All Pages</strong> in WordPress.</li>



<li>Click <strong>Edit with Elementor</strong> on the page where you want to display the store locator.</li>
</ul>
</li>



<li><strong>Search for the Shortcode widget</strong>
<ul class="wp-block-list">
<li>In the Elementor left panel (Widgets section), search for <strong>“Shortcode”</strong>.</li>
</ul>
</li>



<li><strong>Add the Shortcode widget to the page</strong>
<ul class="wp-block-list">
<li>Drag and drop the <strong>Shortcode</strong> widget into your page layout.</li>
</ul>
</li>



<li><strong>Insert the Agile Store Locator shortcode</strong>
<ul class="wp-block-list">
<li>In the shortcode field, paste the following: <code class="" data-line="">[ASL_STORELOCATOR]</code></li>
</ul>
</li>



<li><strong>Update / Publish the page</strong>
<ul class="wp-block-list">
<li>Click <strong>Update</strong> (or <strong>Publish</strong>) to save your changes.</li>



<li>View the page on the frontend to confirm the store locator is loading correctly.</li>
</ul>
</li>
</ol>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="294" height="267" src="https://agilestorelocator.com/wp-content/uploads/2025/12/elementor-shortcode-widget.png" alt="shortcode widget" class="wp-image-4154" title="Docs 22" srcset="https://agilestorelocator.com/wp-content/uploads/2025/12/elementor-shortcode-widget.png 294w, https://agilestorelocator.com/wp-content/uploads/2025/12/elementor-shortcode-widget-290x263.png 290w, https://agilestorelocator.com/wp-content/uploads/2025/12/elementor-shortcode-widget-63x57.png 63w" sizes="auto, (max-width: 294px) 100vw, 294px" /><figcaption class="wp-element-caption">Choose Shortcode Widget</figcaption></figure>
</div>

<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="297" height="360" src="https://agilestorelocator.com/wp-content/uploads/2025/12/shortcode-in-shortcode-widget.png" alt="Add Shortcode in Widget" class="wp-image-4156" title="Docs 23" srcset="https://agilestorelocator.com/wp-content/uploads/2025/12/shortcode-in-shortcode-widget.png 297w, https://agilestorelocator.com/wp-content/uploads/2025/12/shortcode-in-shortcode-widget-248x300.png 248w, https://agilestorelocator.com/wp-content/uploads/2025/12/shortcode-in-shortcode-widget-217x263.png 217w, https://agilestorelocator.com/wp-content/uploads/2025/12/shortcode-in-shortcode-widget-47x57.png 47w" sizes="auto, (max-width: 297px) 100vw, 297px" /><figcaption class="wp-element-caption">Add the Store Locator Shortcode</figcaption></figure>
</div>


<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">Important Notice About Elementor HTML Widget</h3>



<ul class="wp-block-list">
<li>Since <strong>Elementor version 3.33.5</strong>, the <strong>HTML widget is no longer supported</strong> for Agile Store Locator.</li>



<li>Using the <strong>HTML widget</strong> can break the store locator UI due to how Elementor now processes inline HTML and scripts.</li>



<li><strong>Always use the Shortcode widget</strong> to embed <code class="" data-line="">[ASL_STORELOCATOR]</code>.</li>
</ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="235" src="https://agilestorelocator.com/wp-content/uploads/2025/12/elementor-issue-store-locator-1024x235.png" alt="elementor HTML widget issue" class="wp-image-4155" title="Docs 24" srcset="https://agilestorelocator.com/wp-content/uploads/2025/12/elementor-issue-store-locator-1024x235.png 1024w, https://agilestorelocator.com/wp-content/uploads/2025/12/elementor-issue-store-locator-300x69.png 300w, https://agilestorelocator.com/wp-content/uploads/2025/12/elementor-issue-store-locator-768x176.png 768w, https://agilestorelocator.com/wp-content/uploads/2025/12/elementor-issue-store-locator-1536x352.png 1536w, https://agilestorelocator.com/wp-content/uploads/2025/12/elementor-issue-store-locator-360x83.png 360w, https://agilestorelocator.com/wp-content/uploads/2025/12/elementor-issue-store-locator-350x80.png 350w, https://agilestorelocator.com/wp-content/uploads/2025/12/elementor-issue-store-locator-76x17.png 76w, https://agilestorelocator.com/wp-content/uploads/2025/12/elementor-issue-store-locator.png 1610w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://agilestorelocator.com/wiki/how-to-add-agile-store-locator-using-elementor/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to Remove or Disable Phone and Email in the Store Locator Frontend</title>
		<link>https://agilestorelocator.com/wiki/how-to-remove-or-disable-phone-and-email-in-the-store-locator-frontend/</link>
					<comments>https://agilestorelocator.com/wiki/how-to-remove-or-disable-phone-and-email-in-the-store-locator-frontend/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Mon, 15 Dec 2025 10:03:23 +0000</pubDate>
				<guid isPermaLink="false">https://agilestorelocator.com/?post_type=docs&#038;p=4149</guid>

					<description><![CDATA[Sometimes you may want to hide contact details (Phone/Email) from the Store List and/or the InfoBox on the frontend. In Agile Store Locator, you can do this in two main ways: Method 1: Remove Phone/Email at the Data API Level (Recommended) This method removes the values from the dataset before the Store Locator renders, so ... <br><a href="https://agilestorelocator.com/wiki/how-to-remove-or-disable-phone-and-email-in-the-store-locator-frontend/" class="text-muted readmore">Read More <i data-feather="chevron-right" class="fea icon-sm"></i></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Sometimes you may want to hide contact details (Phone/Email) from the Store List and/or the InfoBox on the frontend. In Agile Store Locator, you can do this in two main ways:</p>



<ol class="wp-block-list">
<li><strong>Data API level (WordPress filter)</strong> – removes Phone/Email from the store data output globally. <a href="https://agilestorelocator.com/wiki/store-locator-wordpress-hooks-filters/" target="_blank" rel="noreferrer noopener">Agile Store Locator WordPress Plugin</a></li>



<li><strong>Template level (Customizer)</strong> – removes (or edits) the Phone/Email markup from the List/InfoBox templates. <a href="https://agilestorelocator.com/wiki/customization-of-store-locator/" target="_blank" rel="noreferrer noopener">Agile Store Locator WordPress Plugin</a></li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">Method 1: Remove Phone/Email at the Data API Level (Recommended)</h3>



<p class="wp-block-paragraph">This method removes the values from the dataset before the Store Locator renders, so Phone/Email won’t appear anywhere the template tries to print them. This uses the plugin’s WordPress hooks/filters system. <a href="https://agilestorelocator.com/wiki/store-locator-wordpress-hooks-filters/" target="_blank" rel="noreferrer noopener">Agile Store Locator WordPress Plugin</a></p>



<p class="wp-block-paragraph">Add this code to your theme’s <strong>functions.php</strong> (or a custom plugin):</p>



<pre class="wp-block-prismatic-blocks"><code class="language-php" data-line="">function remove_asl_phone_email_data($all_stores) {

  foreach($all_stores as $store) {

    $store-&gt;phone = &#039;&#039;;
    $store-&gt;email = &#039;&#039;;
  }

  return $all_stores;
}

add_filter(&#039;asl_filter_stores_result&#039;, &#039;remove_asl_phone_email_data&#039;);</code></pre>



<p class="wp-block-paragraph"><strong>Notes</strong></p>



<ul class="wp-block-list">
<li>This is a <strong>global</strong> approach (affects list + infobox + anywhere the store data is used).</li>



<li>Best when you want Phone/Email removed site-wide without editing templates. <a href="https://agilestorelocator.com/wiki/store-locator-wordpress-hooks-filters/" target="_blank" rel="noreferrer noopener">Agile Store Locator WordPress Plugin</a></li>
</ul>



<h3 class="wp-block-heading">Method 2: Remove Phone/Email from the Template (Customizer)</h3>



<p class="wp-block-paragraph">This method removes Phone/Email from the <strong>rendered HTML</strong> by editing the template in the Store Locator Customizer. <a href="https://agilestorelocator.com/wiki/customization-of-store-locator/" target="_blank" rel="noreferrer noopener">Agile Store Locator WordPress Plugin</a></p>



<h4 class="wp-block-heading">Remove from the Store List Template</h4>



<ol class="wp-block-list">
<li>Go to <strong>ASL Settings → Customizer</strong>. <a href="https://agilestorelocator.com/wiki/customization-of-store-locator/" target="_blank" rel="noreferrer noopener">Agile Store Locator WordPress Plugin</a></li>



<li>Select the <strong>Template</strong> you’re using.</li>



<li>Select the <strong>List Section</strong>.</li>



<li>Find and remove the Phone/Email blocks (example below), then <strong>Save</strong>.</li>
</ol>



<pre class="wp-block-prismatic-blocks"><code class="language-markup" data-line="">{{if phone}}
    &lt;li class=&quot;sl-phone&quot;&gt;
        &lt;i class=&quot;icon-mobile&quot;&gt;&lt;/i&gt;
        &lt;a href=&quot;tel:{{:phone}}&quot;&gt;{{:phone}}&lt;/a&gt;
    &lt;/li&gt;
{{/if}}
{{if email}}
    &lt;li class=&quot;sl-email&quot;&gt;
        &lt;i class=&quot;icon-mail&quot;&gt;&lt;/i&gt;
        &lt;a href=&quot;mailto:{{:email}}&quot;&gt;{{:email}}&lt;/a&gt;
    &lt;/li&gt;
{{/if}}</code></pre>



<h4 class="wp-block-heading">Remove from the InfoBox Template</h4>



<p class="wp-block-paragraph">Repeat the same steps but open the <strong>Infobox Section</strong> in the Customizer and remove the Phone/Email markup there as well. <a href="https://agilestorelocator.com/wiki/customization-of-store-locator/" target="_blank" rel="noreferrer noopener">Agile Store Locator WordPress Plugin</a></p>



<p class="wp-block-paragraph"><strong>Notes</strong></p>



<ul class="wp-block-list">
<li>This approach is best when you want more control (hide in list, but keep in infobox, etc.).</li>



<li>Template changes are purely frontend display changes. <a href="https://agilestorelocator.com/wiki/customization-of-store-locator/" target="_blank" rel="noreferrer noopener">Agile Store Locator WordPress Plugin</a></li>
</ul>



<h3 class="wp-block-heading">Convert Phone into a CTA Button Without Showing It</h3>



<p class="wp-block-paragraph">If you want to <strong>hide the phone text</strong> but still provide a “Call Now” button, you can do it in the <strong>List Section</strong> template.</p>



<ol class="wp-block-list">
<li>Go to <strong>ASL Settings → Customizer</strong></li>



<li>Select your <strong>template</strong></li>



<li>Open the <strong>List Section</strong></li>



<li>Remove the Phone <code class="" data-line="">&lt;li&gt;</code> block and place a CTA button inside the action buttons container.</li>
</ol>



<p class="wp-block-paragraph">Use this pattern (keep it inside the action buttons container):</p>



<pre class="wp-block-prismatic-blocks"><code class="language-markup" data-line="">&lt;div class=&quot;sl-act-btns mt-3&quot;&gt;
    &lt;a class=&quot;btn btn-asl s-direction&quot;&gt;[Directions]&lt;/a&gt;

    {{if phone}}
    &lt;a target=&quot;_blank&quot; href=&quot;tel:{{:phone}}&quot; class=&quot;btn btn-asl&quot;&gt;[Call Now]&lt;/a&gt;
    {{/if}}

    {{if link}}
    &lt;a target=&quot;{{:target}}&quot; class=&quot;btn btn-asl btn-asl-outline s-visit-website&quot; href=&quot;{{:link}}&quot;&gt;[Website]&lt;/a&gt;
    {{/if}}

    {{if dist_str}}
    &lt;div class=&quot;sl-miles&quot;&gt;
        &lt;span class=&quot;s-distance&quot;&gt;{{:dist_str}}&lt;/span&gt;
    &lt;/div&gt;
    {{/if}}
&lt;/div&gt;
</code></pre>
]]></content:encoded>
					
					<wfw:commentRss>https://agilestorelocator.com/wiki/how-to-remove-or-disable-phone-and-email-in-the-store-locator-frontend/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Agile Store Locator – Google Tag Manager Integration Guide</title>
		<link>https://agilestorelocator.com/wiki/agile-store-locator-google-tag-manager-integration-guide/</link>
					<comments>https://agilestorelocator.com/wiki/agile-store-locator-google-tag-manager-integration-guide/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 11 Jul 2025 14:29:26 +0000</pubDate>
				<guid isPermaLink="false">https://agilestorelocator.com/?post_type=docs&#038;p=4052</guid>

					<description><![CDATA[Agile Store Locator (ASL) supports integration with Google Tag Manager (GTM) for advanced event tracking of your store locator interactions. With GTM, you can send key user interactions from your store locator directly to Google Analytics 4 (GA4) or any other connected service—without modifying your core website code. What This Integration Does By following this ... <br><a href="https://agilestorelocator.com/wiki/agile-store-locator-google-tag-manager-integration-guide/" class="text-muted readmore">Read More <i data-feather="chevron-right" class="fea icon-sm"></i></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Agile Store Locator (ASL) supports integration with Google Tag Manager (GTM) for advanced event tracking of your store locator interactions.</p>



<p class="wp-block-paragraph">With GTM, you can send key user interactions from your store locator directly to Google Analytics 4 (GA4) or any other connected service—without modifying your core website code.</p>



<h2 class="wp-block-heading">What This Integration Does</h2>



<p class="wp-block-paragraph">By following this guide, you’ll track the following events in GTM:</p>



<ul class="wp-block-list">
<li>Search events</li>



<li>Store selection (map/marker clicks)</li>



<li>Store selection (sidebar/list clicks)</li>



<li>Direction clicks</li>



<li>Email link clicks <em>(available since v4.11.19)</em></li>



<li>Phone link clicks <em>(available since v4.11.19)</em></li>
</ul>



<p class="wp-block-paragraph">Each event automatically pushes relevant store details into GTM’s dataLayer, so you can analyze user interactions in Google Analytics.</p>



<h2 class="wp-block-heading">How It Works</h2>



<p class="wp-block-paragraph">Agile Store Locator exposes a <strong>JavaScript event hook</strong> called <code class="" data-line="">asl_event_hook</code>. You can add this function to your site to automatically push event data to GTM’s <code class="" data-line="">dataLayer</code>.</p>



<p class="wp-block-paragraph">When a visitor performs an action—like searching, selecting a store, or clicking email/phone links—your custom <code class="" data-line="">asl_event_hook</code> will send structured data to GTM.</p>



<p class="wp-block-paragraph">You then configure GTM to trigger Google Analytics events based on these pushes.</p>



<h2 class="wp-block-heading">Step 1 – Add the Google Tag Manager Snippet</h2>



<p class="wp-block-paragraph">First, ensure the GTM container code is installed on your site. Google Tag Manager provides you with code like:</p>



<pre class="wp-block-prismatic-blocks"><code class="language-javascript" data-line="">&lt;!-- Google Tag Manager --&gt;
&lt;script&gt;(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({&#039;gtm.start&#039;:
new Date().getTime(),event:&#039;gtm.js&#039;});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!=&#039;dataLayer&#039;?&#039;&amp;l=&#039;+l:&#039;&#039;;j.async=true;j.src=
&#039;https://www.googletagmanager.com/gtm.js?id=&#039;+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,&#039;script&#039;,&#039;dataLayer&#039;,&#039;GTM-XXXXXXX&#039;);&lt;/script&gt;
&lt;!-- End Google Tag Manager --&gt;

&lt;!-- Google Tag Manager (noscript) --&gt;
&lt;noscript&gt;&lt;iframe src=&quot;https://www.googletagmanager.com/ns.html?id=GTM-XXXXXXX&quot;
height=&quot;0&quot; width=&quot;0&quot; style=&quot;display:none;visibility:hidden&quot;&gt;&lt;/iframe&gt;&lt;/noscript&gt;
&lt;!-- End Google Tag Manager (noscript) --&gt;
</code></pre>



<p class="wp-block-paragraph">Replace <code class="" data-line="">GTM-XXXXXXX</code> with your container ID.<br></p>



<p class="wp-block-paragraph">Add this <strong>above the closing <code class="" data-line="">&lt;/head&gt;</code> tag</strong> and <strong>immediately after the opening <code class="" data-line="">&lt;body&gt;</code> tag</strong> of your site.</p>



<h2 class="wp-block-heading">Step 2 – Add the ASL Event Hook Script</h2>



<p class="wp-block-paragraph">Next, add the following JavaScript to your site. You can place it in your theme’s footer, or enqueue it via your CMS or plugin.</p>



<p class="wp-block-paragraph">This script listens for ASL events and pushes them to <code class="" data-line="">dataLayer</code> for GTM:</p>



<pre class="wp-block-prismatic-blocks"><code class="language-javascript" data-line="">&lt;script type=&quot;text/javascript&quot;&gt;
function asl_event_hook(_event) {
  if (!_event || !_event.type) return;

  // 1- SEARCH EVENT
  if (_event.type === &#039;search&#039;) {
    var active_filters = (asl_view.featureFilter.array_ || []).map(function(cat) {
      return cat.name_;
    }).join(&#039;,&#039;);

    dataLayer.push({
      &#039;event&#039;: &#039;asl_search_event&#039;,
      &#039;search_type&#039;: &#039;Address&#039;,
      &#039;search_filters&#039;: active_filters,
      &#039;address_searched&#039;: _event.data.search_text
    });
  }

  // 2- SELECT EVENT (Store list / marker click)
  else if (_event.type === &#039;select&#039;) {
    var store = _event.data || {};
    var category_names = (store.categories || []).map(function(cat) {
      return cat.name;
    }).join(&#039;,&#039;);

    dataLayer.push({
      &#039;event&#039;: &#039;asl_store_selected&#039;,
      &#039;store_id&#039;: store.id,
      &#039;store_title&#039;: store.title,
      &#039;store_street&#039;: store.street,
      &#039;store_city&#039;: store.city,
      &#039;store_state&#039;: store.state,
      &#039;store_postal_code&#039;: store.postal_code,
      &#039;store_country&#039;: store.country,
      &#039;store_lat&#039;: store.lat,
      &#039;store_lng&#039;: store.lng,
      &#039;store_phone&#039;: store.phone,
      &#039;store_email&#039;: store.email,
      &#039;store_website&#039;: store.website,
      &#039;store_categories&#039;: category_names,
      &#039;store_link&#039;: store.link
    });
  }

  // 3- LIST CLICK SELECT EVENT
  else if (_event.type === &#039;asl_store_select_click&#039;) {
    var store = _event.data || {};
    var category_names = (store.categories || []).map(function(cat) {
      return cat.name;
    }).join(&#039;,&#039;);

    dataLayer.push({
      &#039;event&#039;: &#039;asl_store_select_click&#039;,
      &#039;store_id&#039;: store.id,
      &#039;store_title&#039;: store.title,
      &#039;store_city&#039;: store.city,
      &#039;store_state&#039;: store.state,
      &#039;store_country&#039;: store.country,
      &#039;store_phone&#039;: store.phone,
      &#039;store_email&#039;: store.email,
      &#039;store_categories&#039;: category_names
    });
  }

  // 4- EMAIL CLICK EVENT (available since v4.11.19)
  else if (_event.type === &#039;asl_email_click&#039;) {
    var store = _event.data || {};

    dataLayer.push({
      &#039;event&#039;: &#039;asl_email_click&#039;,
      &#039;store_id&#039;: store.id,
      &#039;store_title&#039;: store.title,
      &#039;store_email&#039;: store.email
    });
  }

  // 5- PHONE CLICK EVENT (available since v4.11.19)
  else if (_event.type === &#039;asl_phone_click&#039;) {
    var store = _event.data || {};

    dataLayer.push({
      &#039;event&#039;: &#039;asl_phone_click&#039;,
      &#039;store_id&#039;: store.id,
      &#039;store_title&#039;: store.title,
      &#039;store_phone&#039;: store.phone
    });
  }

  // 6- DIRECTION CLICK EVENT
  else if (_event.type === &#039;direction&#039;) {
    var store = _event.data || {};

    dataLayer.push({
      &#039;event&#039;: &#039;asl_direction_click&#039;,
      &#039;store_id&#039;: store.id,
      &#039;store_title&#039;: store.title,
      &#039;store_street&#039;: store.street,
      &#039;store_city&#039;: store.city,
      &#039;store_state&#039;: store.state,
      &#039;store_postal_code&#039;: store.postal_code,
      &#039;store_country&#039;: store.country,
      &#039;store_lat&#039;: store.lat,
      &#039;store_lng&#039;: store.lng
    });
  }
}
&lt;/script&gt;
</code></pre>



<h2 class="wp-block-heading">Step 3 – Set Up Google Tag Manager</h2>



<p class="wp-block-paragraph">Once the <code class="" data-line="">asl_event_hook</code> is on your site, Google Tag Manager will receive events in its <strong>dataLayer</strong>.</p>



<p class="wp-block-paragraph">You can now configure GTM to send these events to Google Analytics 4.</p>



<h3 class="wp-block-heading">3.1 – Create Data Layer Variables</h3>



<p class="wp-block-paragraph">In GTM:</p>



<ol class="wp-block-list">
<li>Go to <strong>Variables</strong></li>



<li>Click <strong>New</strong> > <strong>Data Layer Variable</strong></li>



<li>Create variables for:</li>
</ol>



<ul class="wp-block-list">
<li>store_id</li>



<li>store_title</li>



<li>store_street</li>



<li>store_city</li>



<li>store_state</li>



<li>store_postal_code</li>



<li>store_country</li>



<li>store_lat</li>



<li>store_lng</li>



<li>store_phone</li>



<li>store_email</li>



<li>store_website</li>



<li>store_categories</li>



<li>store_link</li>



<li>search_type</li>



<li>search_filters</li>



<li>address_searched</li>
</ul>



<p class="wp-block-paragraph">These variables let GTM pull data from the dataLayer pushes.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">3.2 – Create Custom Event Triggers</h3>



<p class="wp-block-paragraph">Next, create a <strong>Custom Event Trigger</strong> for each ASL event type:</p>



<p class="wp-block-paragraph">Event Names to use:</p>



<ul class="wp-block-list">
<li><code class="" data-line="">asl_search_event</code></li>



<li><code class="" data-line="">asl_store_selected</code></li>



<li><code class="" data-line="">asl_store_select_click</code></li>



<li><code class="" data-line="">asl_email_click</code> <em>(available since v4.11.19)</em></li>



<li><code class="" data-line="">asl_phone_click</code> <em>(available since v4.11.19)</em></li>



<li><code class="" data-line="">asl_direction_click</code></li>
</ul>



<ol class="wp-block-list">
<li>Go to <strong>Triggers</strong></li>



<li>Click <strong>New</strong> > <strong>Trigger Type: Custom Event</strong></li>



<li>Enter the Event Name (e.g. <code class="" data-line="">asl_search_event</code>)</li>
</ol>



<p class="wp-block-paragraph">Repeat for each event.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">3.3 – Create GA4 Event Tags</h3>



<p class="wp-block-paragraph">For each trigger:</p>



<ol class="wp-block-list">
<li>Go to <strong>Tags</strong></li>



<li>Click <strong>New</strong> > <strong>Tag Type: Google Analytics: GA4 Event</strong></li>



<li>Select your GA4 Configuration Tag</li>



<li>Enter an <strong>Event Name</strong> (e.g. <code class="" data-line="">locator_search</code>, <code class="" data-line="">store_selected</code>, etc.)</li>



<li>Add <strong>Event Parameters</strong> from your Data Layer Variables</li>
</ol>



<p class="wp-block-paragraph">Example for <code class="" data-line="">asl_email_click</code>:</p>



<ul class="wp-block-list">
<li>Event Name: <code class="" data-line="">store_email_click</code></li>



<li>Parameters:
<ul class="wp-block-list">
<li>store_id</li>



<li>store_title</li>



<li>store_email</li>
</ul>
</li>
</ul>



<p class="wp-block-paragraph">Example for <code class="" data-line="">asl_search_event</code>:</p>



<ul class="wp-block-list">
<li>Event Name: <code class="" data-line="">locator_search</code></li>



<li>Parameters:
<ul class="wp-block-list">
<li>search_type</li>



<li>search_filters</li>



<li>address_searched</li>
</ul>
</li>
</ul>



<p class="wp-block-paragraph">Link the appropriate <strong>Custom Event Trigger</strong> to each Tag.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">3.4 – Publish Your Container</h3>



<ol class="wp-block-list">
<li>Click <strong>Submit</strong> in GTM</li>



<li>Add a Version Name (e.g. “ASL Events Integration”)</li>



<li>Click <strong>Publish</strong></li>
</ol>



<p class="wp-block-paragraph">Your site is now tracking ASL events via GTM!</p>



<h2 class="wp-block-heading">Important Disclaimer</h2>



<p class="wp-block-paragraph">Agile Store Locator’s Google Tag Manager integration <strong>only</strong> pushes event data into the website’s <code class="" data-line="">dataLayer</code>.</p>



<p class="wp-block-paragraph">We <strong>do not</strong> configure, debug, or manage your Google Tag Manager container, triggers, or Google Analytics setup.</p>



<p class="wp-block-paragraph">If your GTM or Google Analytics environment does not receive or record these events as expected, it is your responsibility to:</p>



<ol class="wp-block-list">
<li>Ensure your GTM container is correctly installed on your website</li>



<li>Verify that your triggers, variables, and tags are properly configured</li>



<li>Debug GTM using built-in tools like the Preview mode</li>
</ol>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Agile Store Locator support does not include customizing or troubleshooting Google Tag Manager or Google Analytics implementations.</strong></p>
</blockquote>



<p class="wp-block-paragraph">Our plugin guarantees only that it will <strong>send the event data to the dataLayer</strong> in a standard format.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://agilestorelocator.com/wiki/agile-store-locator-google-tag-manager-integration-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>License &#038; Support Renewal Guide</title>
		<link>https://agilestorelocator.com/wiki/license-support-renewal-guide/</link>
					<comments>https://agilestorelocator.com/wiki/license-support-renewal-guide/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Mon, 23 Jun 2025 10:57:05 +0000</pubDate>
				<guid isPermaLink="false">https://agilestorelocator.com/?post_type=docs&#038;p=4027</guid>

					<description><![CDATA[AgileLogix offers both Yearly and Lifetime licenses for our plugins. This guide helps you understand when and how to renew your license or support, depending on the plan you purchased. What Are You Renewing? Plan Type What Expires What You Renew Renewal Cost Yearly License License &#38; Support Full License Product Price Lifetime License Support ... <br><a href="https://agilestorelocator.com/wiki/license-support-renewal-guide/" class="text-muted readmore">Read More <i data-feather="chevron-right" class="fea icon-sm"></i></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><a href="https://agilelogix.com" target="_blank" rel="noopener">AgileLogix</a> offers both <strong>Yearly</strong> and <strong>Lifetime</strong> licenses for our plugins. This guide helps you understand <strong>when and how to renew your license or support</strong>, depending on the plan you purchased.</p>



<h2 class="wp-block-heading">What Are You Renewing?</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Plan Type</th><th>What Expires</th><th>What You Renew</th><th>Renewal Cost</th></tr></thead><tbody><tr><td><strong>Yearly License</strong></td><td>License &amp; Support</td><td>Full License</td><td>Product Price</td></tr><tr><td><strong>Lifetime License</strong></td><td>Support Only</td><td>Support Access Only</td><td>$30/year</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Yearly License Renewal</h2>



<p class="wp-block-paragraph">With a <strong>Yearly License</strong>, your license and support are valid for one year. After expiry:</p>



<ul class="wp-block-list">
<li>You lose access to updates and support.</li>



<li>Renewing restores both.</li>
</ul>



<h3 class="wp-block-heading">How to Renew:</h3>



<ol class="wp-block-list">
<li>Log in to your <a href="https://agilelogix.com/all-downloads/" target="_blank" rel="noopener">AgileLogix account</a>.</li>



<li>Go to the <strong>All Downloads</strong> section.</li>



<li>Locate the <strong>expired license</strong>.</li>



<li>Click <strong>Renew</strong> and complete checkout.</li>
</ol>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="323" src="https://agilestorelocator.com/wp-content/uploads/2025/06/license-renewal-button-1024x323.png" alt="License renewal button" class="wp-image-4028" title="Docs 25" srcset="https://agilestorelocator.com/wp-content/uploads/2025/06/license-renewal-button-1024x323.png 1024w, https://agilestorelocator.com/wp-content/uploads/2025/06/license-renewal-button-300x95.png 300w, https://agilestorelocator.com/wp-content/uploads/2025/06/license-renewal-button-768x242.png 768w, https://agilestorelocator.com/wp-content/uploads/2025/06/license-renewal-button-360x113.png 360w, https://agilestorelocator.com/wp-content/uploads/2025/06/license-renewal-button-350x110.png 350w, https://agilestorelocator.com/wp-content/uploads/2025/06/license-renewal-button-76x24.png 76w, https://agilestorelocator.com/wp-content/uploads/2025/06/license-renewal-button.png 1104w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<h2 class="wp-block-heading">Support Renewal for Lifetime License</h2>



<p class="wp-block-paragraph"><strong>Lifetime Licenses</strong> never expire, but support lasts <strong>1 year</strong>. After that:</p>



<ul class="wp-block-list">
<li>You still receive plugin updates.</li>



<li>You lose access to customer support unless renewed.</li>
</ul>



<h3 class="wp-block-heading">Renew Support for $30:</h3>



<ol class="wp-block-list">
<li>Log in to <a href="https://agilelogix.com/all-downloads/" target="_blank" rel="noopener">AgileLogix</a>.</li>



<li>Go to <strong>All Downloads</strong>.</li>



<li>Locate the <strong>Lifetime license</strong> with <strong>Support Expired</strong>.</li>



<li>Click <strong>Renew Support</strong>.</li>



<li>Complete checkout. Your support will extend 1 year.</li>
</ol>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="331" src="https://agilestorelocator.com/wp-content/uploads/2025/06/support-renew-al-1024x331.png" alt="Renew Support" class="wp-image-4029" title="Docs 26" srcset="https://agilestorelocator.com/wp-content/uploads/2025/06/support-renew-al-1024x331.png 1024w, https://agilestorelocator.com/wp-content/uploads/2025/06/support-renew-al-300x97.png 300w, https://agilestorelocator.com/wp-content/uploads/2025/06/support-renew-al-768x248.png 768w, https://agilestorelocator.com/wp-content/uploads/2025/06/support-renew-al-360x116.png 360w, https://agilestorelocator.com/wp-content/uploads/2025/06/support-renew-al-350x113.png 350w, https://agilestorelocator.com/wp-content/uploads/2025/06/support-renew-al-76x25.png 76w, https://agilestorelocator.com/wp-content/uploads/2025/06/support-renew-al.png 1102w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">How to Check Your Plan</h2>



<p class="wp-block-paragraph">From your AgileLogix account dashboard:</p>



<ul class="wp-block-list">
<li><strong>License Type:</strong> “Lifetime” or “Yearly”</li>



<li><strong>Support Expiry:</strong> Shown below each license key</li>
</ul>



<h2 class="wp-block-heading">Lost Access to Your Account?</h2>



<p class="wp-block-paragraph">If you no longer have access to your AgileLogix account:</p>



<ul class="wp-block-list">
<li>You can <strong>purchase a new license</strong> directly from <a href="https://agilelogix.com/" target="_blank" rel="noopener">AgileLogix.com</a>.</li>



<li>After purchase, you can <strong>register the new license</strong> on your existing site using the plugin’s <strong>License Activation</strong> panel.</li>
</ul>



<p class="wp-block-paragraph">Your plugin and settings will remain intact — you’re simply linking it to a new license key.</p>



<h2 class="wp-block-heading">Need Help?</h2>



<p class="wp-block-paragraph">Email us: <strong>support@agilelogix.com</strong></p>



<p class="wp-block-paragraph">We&#8217;re happy to assist with renewals and support questions!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://agilestorelocator.com/wiki/license-support-renewal-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
