Financial incentives in primary care have been often introduced with the purpose of improving appropriateness of care and containing demand. We usually observe pay-for-performance programs, but alternatives have been also implemented, such as pay-for-participation in improvement activities and pay-for-compliance with clinical guidelines. Here, we assess the influence of different programs which ensure extra-payments to GPs, for containing episodes of avoidable hospitalisations. Our dataset covers patients and GPs of the Italian region Emilia-Romagna for year 2005, and we control for a wide range of factors potentially influencing GPs' behaviour. By separating pay-for-performance from pay-for-participation and pay-for-compliance programs, we estimate the impact on the probability of (inappropriate) hospitalisation of financial incentives included in contracts between GPs and the NHS. As dependent variable, we consider two different sets of conditions, for both of which timely and effective primary care should be able to limit the need of hospital admission. The first is based on 27 medical DRGs that Emilia-Romagna identifies as at risk of inappropriateness in primary care, while the second refers to the internationally recognised ACSCs (ambulatory care-sensitive conditions). We show that pay-for-performance schemes may have a significant effect over aggregate indicators of appropriateness, while the effectiveness of pay-for-participation schemes is adequately captured only by taking into account subpopulations affected by specific diseases. Moreover, the same incentive scheme has fairly different effects on the two sets of indicators used, with performance improvements limited to the target explicitly addressed by the policy maker (i.e. the list of 27 DRGs). This evidence is consistent with the idea that a "tunnel vision" effect may occur when public authorities promote and monitor specific sets of objectives, as proxies for more general improvements in health care practices.