A computer-implemented method implemented by a mobile computing device (102, 802), the method comprising: obtaining a current location of the mobile computing device (102, 802); obtaining information for a plurality of merchant locations (804, 806, 808) that are within a threshold distance of the location of the mobile computing device (102, 802),; determining a number of nearest merchant locations (804, 806, 808) that are nearest to the location of the mobile computing device (102, 802) among the plurality of merchant locations (804, 806, 808), wherein the number of nearest merchant locations (804, 806, 808) is less than a number of merchant locations of the plurality of merchant locations (804, 806, 808), and wherein each of the number of nearest merchant locations (804, 806, 808) are associated with respective local geofences (832, 834, 836) that enclose respective geographic regions that are at least a first size; determining a triggering geofence that encloses a geographic region that includes the number of nearest merchant locations (804, 806, 808); determining that a size of the geographic region enclosed by the triggering geofence is larger than a threshold; in response to determining that a size of the geographic region enclosed by the triggering geofence is larger than a threshold, determining a second size for local geofences (832, 834, 836), wherein the second size is larger than the first size; generating a respective updated local geofence (832, 834, 836) for each of the number of nearest merchant locations (804, 806, 808), wherein each updated local geofence (832, 834, 836) encloses a geographic region that is at least the second size; receiving, at the mobile computing device (102, 802), an indication that the mobile computing device (102, 802) is within the updated local geofence (832, 834, 836) for a particular merchant location (804, 806, 808) of the number of nearest merchant locations (804, 806, 808); providing a notification, on the mobile computing device (102, 802) indicating proximity of the particular merchant corresponding to the particular merchant location (804, 806, 808); determining that the mobile computing device has exited the triggering geofence; and in response to determining that the mobile computing device has exited the triggering geofence, repeating the steps above. obtaining a current location of the mobile computing device (102, 802); obtaining information for a plurality of merchant locations (804, 806, 808) that are within a threshold distance of the location of the mobile computing device (102, 802),; determining a number of nearest merchant locations (804, 806, 808) that are nearest to the location of the mobile computing device (102, 802) among the plurality of merchant locations (804, 806, 808), wherein the number of nearest merchant locations (804, 806, 808) is less than a number of merchant locations of the plurality of merchant locations (804, 806, 808), and wherein each of the number of nearest merchant locations (804, 806, 808) are associated with respective local geofences (832, 834, 836) that enclose respective geographic regions that are at least a first size; determining a triggering geofence that encloses a geographic region that includes the number of nearest merchant locations (804, 806, 808); determining that a size of the geographic region enclosed by the triggering geofence is larger than a threshold; in response to determining that a size of the geographic region enclosed by the triggering geofence is larger than a threshold, determining a second size for local geofences (832, 834, 836), wherein the second size is larger than the first size; generating a respective updated local geofence (832, 834, 836) for each of the number of nearest merchant locations (804, 806, 808), wherein each updated local geofence (832, 834, 836) encloses a geographic region that is at least the second size; receiving, at the mobile computing device (102, 802), an indication that the mobile computing device (102, 802) is within the updated local geofence (832, 834, 836) for a particular merchant location (804, 806, 808) of the number of nearest merchant locations (804, 806, 808); providing a notification, on the mobile computing device (102, 802) indicating proximity of the particular merchant corresponding to the particular merchant location (804, 806, 808); determining that the mobile computing device has exited the triggering geofence; and in response to determining that the mobile computing device has exited the triggering geofence, repeating the steps above.