A system comprising: one or more front-end servers that are configured to receive data specifying, for multiple different user interactions with one or more application links that link to a given application, presentation durations specifying how long application content linked to by the application link was presented following the multiple different user interactions with the one or more application links, wherein the presentation duration is measured from a time at which user interaction with the application link occurred to a time at which the application is closed or the application navigates to other content or the application crashed; and one or more back-end servers that are configured to communicate with the one or more front end servers and to perform operations including: classifying each application link as broken or working based on application of a machine learning model to the presentation durations for the application link, wherein the machine learning model is generated using labeled training data that includes, for each training application link in a set of training application links: a set of presentation durations for the training application link; and a label that specifies whether the training application link is broken or working based on whether a user interaction with the training application link resulted in successful presentation of content pointed to by the training application link; and generating and outputting an alert identifying a given application link as a broken link based on the given application link being classified as broken by the machine learning model, wherein the application link is classified as broken based on distributions of presentation durations for the application link. one or more front-end servers that are configured to receive data specifying, for multiple different user interactions with one or more application links that link to a given application, presentation durations specifying how long application content linked to by the application link was presented following the multiple different user interactions with the one or more application links, wherein the presentation duration is measured from a time at which user interaction with the application link occurred to a time at which the application is closed or the application navigates to other content or the application crashed; and one or more back-end servers that are configured to communicate with the one or more front end servers and to perform operations including: classifying each application link as broken or working based on application of a machine learning model to the presentation durations for the application link, wherein the machine learning model is generated using labeled training data that includes, for each training application link in a set of training application links: a set of presentation durations for the training application link; and a label that specifies whether the training application link is broken or working based on whether a user interaction with the training application link resulted in successful presentation of content pointed to by the training application link; and generating and outputting an alert identifying a given application link as a broken link based on the given application link being classified as broken by the machine learning model, wherein the application link is classified as broken based on distributions of presentation durations for the application link. classifying each application link as broken or working based on application of a machine learning model to the presentation durations for the application link, wherein the machine learning model is generated using labeled training data that includes, for each training application link in a set of training application links: a set of presentation durations for the training application link; and a label that specifies whether the training application link is broken or working based on whether a user interaction with the training application link resulted in successful presentation of content pointed to by the training application link; and a set of presentation durations for the training application link; and a label that specifies whether the training application link is broken or working based on whether a user interaction with the training application link resulted in successful presentation of content pointed to by the training application link; and generating and outputting an alert identifying a given application link as a broken link based on the given application link being classified as broken by the machine learning model, wherein the application link is classified as broken based on distributions of presentation durations for the application link.