This document summarizes an approach to the CIKM Cup 2016 Track 1 competition on cross-device linking. The goal was to link devices to restore a graph of user-device connections using click log data. The approach involved first using information retrieval techniques to optimize recall and select candidate device pairs, then using machine learning to optimize precision and rank true pairs higher. Features were created to profile devices and measure similarities. An XGBoost model was trained on the candidate pairs and evaluated through cross-validation. The top K pairs by probability were selected to balance precision and recall. Post-competition improvements included stacking and Markov clustering.