1. A system comprising: at least one hardware processor; and one or more software modules that are configured to, when executed by the at least one hardware processor, receive an identification of one or more target locations from a client, wherein each of the target locations identifies a predetermined place, for each of the one or more target locations, apply at least one of a plurality of categories to the target location, wherein the plurality of categories comprise: a client location, a competitor location, a sponsor location, or a partner location, assign a vertical to the target location, wherein the vertical characterizes a type of a market associated with the target location, and automatically select, for the target location, one insight algorithm from a plurality of different insight algorithms, wherein each of the plurality of different insight algorithms are associated with one or more of the plurality of categories and verticals, wherein each of the plurality of different insight algorithms determines occurrence of an event based on the location of each user device and at least on additional criteria of the event and whether to store event records for a plurality of user devices based on the location of each user device in view of the associated at least one of the plurality of categories and vertical, and wherein the selected insight algorithm is based on the applied at least one of the plurality of categories and the vertical of the target location; detect a location of the user device: determine a presence of a user device in one of the one or more target locations based on the detected location of the user device; determine occurrence of an event with the insights algorithm of the one of the one or more target locations when the user device is present at the one of the one or more target locations and when at least on additional criteria of the event is met: determine to store event records relating to the determined occurrence of the event according to the insight algorithm selected for the one of the one or more target locations; and generate a reportable insight based on the presence of the user device in the one of the one or more target locations according to an insight algorithm associated with the one of the one or more target locations, wherein the reportable insight identifies when the user device is in the one of the one or more target locations.