input: Faits : A. A.a. Le 15 juin 1998, X1._ et X2._, en qualité de locataires, et A._ SA, en qualité de bailleresse, ont conclu un contrat de bail portant sur un appartement de 3,5 pièces dans un immeuble sis à..., à Fribourg. Le loyer mensuel brut, fixé à 1'440 fr., incluait un acompte de 210 fr. pour les frais accessoires, aux conditions énoncées ci-dessous (let. Ab). Par contrat du 8 février 2000, la même bailleresse a loué à W1._ et W2._ un appartement de 4,5 pièces dans un immeuble sis à..., à Fribourg. Le loyer mensuel brut était de 1'715 fr., dont 235 fr. d'acompte pour les frais accessoires (cf. let. Ab). Le 18 juillet 2001, Y1._ et Y2._ ont pris à bail un appartement de 3,5 pièces dans l'immeuble précité de la bailleresse sis à..., à Fribourg. Le loyer mensuel brut s'élevait à 2'220 fr., dont 220 fr. d'acompte pour les frais accessoires (cf. let. Ab). Enfin, le 7 juillet 2004, la bailleresse a cédé à Z._ l'usage d'un appartement d'une pièce dans un immeuble sis à..., à Fribourg. Le loyer mensuel brut était de 770 fr., dont 110 fr. d'acompte pour les frais accessoires (infra let. Ab). A.b. Chacun de ces contrats de bail, édités par la section bernoise de l'Union suisse des fiduciaires immobilières (SVIT), comporte dans la clause générale « 3. Loyer et frais accessoires » une rubrique 3.1 indiquant le loyer net de l'appartement ainsi qu'une rubrique « 3.3 Frais accessoires (acompte) », laquelle comprend en particulier les deux sous-rubriques « 3.3.1 Chauffage et eau chaude selon chiffre 6.1 des Cond. gén. » et « 3.3.2 Frais d'exploitation selon chiffre 6.2 des Cond. gén. » (les sous-rubriques 3.3.3, 3.3.4 et 3.3.5 étant laissées en blanc). Le montant de l'acompte indiqué dans le contrat de bail concerne ces deux sous-rubriques, les frais étant facturés sur la base d'un décompte. Chaque contrat comporte également une clause selon laquelle le locataire déclare avoir reçu les « Conditions générales 1993 » ainsi que le « règlement de maison-Instructions ». Par leurs signatures, les parties ont déclaré accepter ces documents faisant partie intégrante du bail. Le chiffre 6.2 des « Conditions générales 1993 du bail à loyer pour habitations », éditées par la section bernoise de l'Union suisse des fiduciaires immobilières (SVIT), dispose ce qui suit, sous le titre « Décompte des frais d'exploitation »: « Les frais d'exploitation suivants font l'objet du décompte: - Distribution générale de courant - Abonnement pour l'entretien des installations mises à disposition des locataires, des appareils tels que l'ascenseur, les extincteurs, les machines à laver, les tumblers, les lave-vaisselle, etc. - L'entretien du jardin - Les frais de conciergerie (y compris la contribution de l'employeur à l'AVS/AI/APG/AC, ass.-accidents professionnels, LPP), de nettoyage des escaliers et de déblayage de la neige - Les taxes et redevances dues pour l'élimination des ordures, l'eau, les eaux usées, les canalisations, la télévision y compris les droits d'auteur, etc. - Les autres frais d'exploitation peuvent faire l'objet d'un complément aux chiffres 3.3.3, 3.3.4 et 3.3.5 du bail à loyer ou de dispositions particulières - Les honoraires de gérance Pour le travail de gérance il sera perçu un honoraire de 3 pourcent des dépenses justifiées (situation 1991). Si les conditions ont changé dans une mesure considérable, il y aura réajustement de cette norme. ». B. B.a. Le 12 mars 2013, les locataires W._, X._, Y._ et Z._ ont saisi l'autorité de conciliation de requêtes séparées tendant à ce que la bailleresse soit tenue de leur rembourser les frais d'exploitation payés indûment, soit respectivement 18'291 fr. 05 (W._), 17'754 fr. 85 (X._), 18'308 fr. 20 (Y._) et 7'488 fr. 40 (Z._). Ils ne contestaient en revanche pas la facturation des frais de chauffage et d'eau chaude. Ensuite de l'échec de la conciliation tentée en commun, les locataires ont actionné la bailleresse par demandes séparées déposées le 12 juillet 2013 devant le Tribunal de l'arrondissement de la Sarine, en reprenant les conclusions prises devant l'autorité de conciliation. La bailleresse a conclu au rejet des demandes. Les causes ont été jointes et les parties entendues à l'audience du 20 février 2014; à cette occasion, les locataires X._ ont augmenté leurs conclusions à 18'271 fr. 60. B.b. Par jugement du 31 juillet 2014, le Tribunal d'arrondissement a admis les demandes et astreint la bailleresse à verser respectivement 18'244 fr. 30 aux locataires W._ solidairement entre eux, 18'271 fr. 60 aux locataires X._ solidairement entre eux, 7'338 fr. 95 à la locataire Z._ et 18'308 fr. 20 aux locataires Y._ solidairement entre eux. B.c. Statuant par arrêt du 24 août 2015, la II e Cour d'appel civil du Tribunal cantonal fribourgeois a rejeté l'appel formé par la bailleresse et confirmé le jugement entrepris. La cour cantonale a considéré en substance, à l'instar du Tribunal d'arrondissement, que les frais d'exploitation à la charge des locataires n'étaient pas détaillés dans le corps même des contrats de bail, qui renvoyaient à des conditions générales. L'art. 6.2 desdites conditions s'apparentait à un catalogue standardisé des frais susceptibles d'être mis à la charge des locataires, sans réelle adaptation aux biens immobiliers concernés; il ne pouvait être considéré comme une concrétisation des frais mis à la charge des locataires en fonction des appartements loués. Dès lors, le simple renvoi à cette disposition ne répondait pas à l'exigence d'une convention spéciale au sens de l'art. 257a al. 2 CO. C. La défenderesse a interjeté un recours en matière civile au Tribunal fédéral, en concluant principalement au rejet intégral des demandes, subsidiairement à l'annulation de l'arrêt entrepris, la cause étant renvoyée aux instances inférieures pour nouvelle décision dans le sens des considérants. Elle a en outre requis l'octroi de l'effet suspensif. L'autorité intimée a renoncé à se déterminer. Les demandeurs ont conclu au rejet du recours et de la requête d'effet suspensif. Par ordonnance du 9 décembre 2015, la Présidente de la I re Cour de droit civil du Tribunal fédéral a rejeté la requête d'effet suspensif. La défenderesse a déposé une réplique spontanée dans laquelle elle déclare maintenir les conclusions de son recours. Les demandeurs ont renoncé à dupliquer. 