In this paper we consider the problem of allocating personal TV advertisements to viewers. The problem's input consists of ad requests and viewers. Each ad is associated with a length, a payment, a requested number of viewers, a requested number of allocations per viewer and a target population profile. Each viewer is associated with a profile and an estimated viewing capacity which is uncertain. The goal is to maximize the revenue obtained from the allocation of ads to viewers for multiple periods while satisfying the ad constraints. First, we present the integer programming (IP) models of the problem and several heuristics for the deterministic version of the problem where the viewers' viewing capacities are known in advance. We compare the performances of the proposed algorithms to those of the state-of-the-art IP solver. Later, we discuss the multi-period uncertain problem and, based on the best heuristic for the deterministic version, present heuristics for low and high uncertainty. Through computational experiments, we evaluate our heuristics. For the deterministic version, our best heuristic attains 98 % of the possible revenue and for the multi-period uncertain version our heuristics performances are very high, even in cases of high uncertainty, compared to the revenue obtained by the deterministic version.