1. A computer-implemented method for creating a dynamic geofence related to a venue, the method comprising:establishing, by a geofencing server connected via at least one data communication link to a plurality of content servers, the dynamic geofence based on a reference point and an area having a range;
associating, by the geofencing server, a campaign related to a product with the dynamic geofence, the campaign promoting the product being sold at the venue;
monitoring, by the geofencing server, a number of remaining units of the product at the venue; and
automatically optimizing a flow of customers to the venue by modifying an aspect of the dynamic geofence based on an availability of the product, by utilizing GPS satellite location information communicated from a plurality of mobile devices to the geofencing server to:
reduce a percentage of mobile devices within the range that are receiving the promotion in response to a determination that the number of remaining units at the venue is below a predefined reduction threshold; and
expand the range of the area in response to a determination that the number remaining units at the venue remains above a predefined expansion threshold for a predefined period of time.