         metrics.log(value: statValue(for: .gkPressedJoin), for: "gkPressedJoin")
         metrics.log(value: statValue(for: .gkInvitedToMatch), for: "gkInvitedToMatch")
         metrics.log(value: statValue(for: .gkConnectedToMatch), for: "gkConnectedToMatch")
+        metrics.log(value: statValue(for: .gkRaceFinishFirst), for: "gkRaceFinishFirst")
+        metrics.log(value: statValue(for: .gkRaceFinishSecond), for: "gkRaceFinishSecond")
+        metrics.log(value: statValue(for: .gkRaceFinishThird), for: "gkRaceFinishThird")
 
         metrics.log(value: statValue(for: .soloVotes), for: "soloVotes")
         metrics.log(value: statValue(for: .soloHelp), for: "soloHelp")

        case gkPressedJoin
        case gkInvitedToMatch
        case gkConnectedToMatch

        case soloVotes
        case soloHelp

            defaults.set(newPoints, forKey: Stat.gkPoints.key)
            defaults.set(newRaces, forKey: Stat.gkRaces.key)
            defaults.set(newTotalTime, forKey: Stat.gkTotalTime.key)

            if let place = place {
                if place == 1 {
                    increment(stat: .gkRaceFinishFirst)
                } else if place == 2 {
                    increment(stat: .gkRaceFinishSecond)
                } else if place == 3 {
                    increment(stat: .gkRaceFinishThird)
                }
            }

            // If found page, check for fastest completion time
            if points > 0 {
