Proximity SDK allows you to specify the range directly in the code (e.g at. 3 meters away from a beacon). This way, you can trigger the events the moment users enter or leave this range. According to our research, these software-defined ranges are pretty accurate and you can build some great use cases on top of them.
The thing is, though, that Bluetooth transmits data through radio waves, and they are very susceptible to a multitude of external factors — they are prone to multipath propagation, diffraction, absorption or interference. Phone’s and beacon’s antenna orientation and beacon’s settings also have an impact.
Because of that, the signal strength will fluctuate constantly and can be up to 20-30% off of the actual distance. In general, the closer you are to a beacon the more accurate the reported distance. When deploying beacons, consider placing the beacons quite close to the place where you want the enter/exit events to take place.
The minimal range we recommend triggering events at is around 1 meter. If you need to detect when a person gets only 20 centimeters from a beacon, Bluetooth technology might not be reliable enough. Consider using NFC built into our Location Beacons instead!
Core Location (iBeacon) and Google Nearby (Eddystone) don't give you any control over when the event will happen. They rely solely on the strength of the beacon signal received by a device (RSSI - Received Signal Strength Indicator). It might jump at times e.g. from 6 meters away to 8 and then to 4.5. It doesn't mean that the beacon doesn't work properly, it just shows the natural fluctuations of the signal. Proximity SDK for iOS and Android, on the other hand, uses a lot of noise canceling and signal filtering to tackle the challenges described above.