Faits :
A.
A._, née en 1964, a bénéficié d'une indemnité de chômage à compter du 2 septembre 2010. A partir du 13 novembre 2010, elle a réalisé des gains intermédiaires en travaillant en qualité de " masseuse extra " au service de la société B._ SA (ci-après: l'employeur). A l'expiration du délai-cadre d'indemnisation, elle a déposé une nouvelle demande d'indemnité à partir du 2 septembre 2012.
Le 29 septembre 2012, à l'occasion d'un entretien, l'employeur a mis un terme aux rapports de travail avec effet au 31 octobre 2012. Invités par la Caisse de chômage chrétienne sociale (OCS; ci-après: la caisse de chômage) à fournir des renseignements sur les motifs de la résiliation, l'assurée a invoqué un manque de travail, tandis que l'employeur a expliqué avoir interrompu la collaboration en raison de réclamations de la part de la clientèle.
Par décision du 25 mars 2013, la caisse de chômage a prononcé la suspension du droit de A._ à l'indemnité de chômage durant 31 jours à partir du 1 er novembre 2012, au motif que celle-ci était sans travail par sa propre faute et qu'elle avait accepté un licenciement qui ne respectait pas le délai de congé légal.
Sur opposition de l'assurée, la caisse de chômage a confirmé la suspension ordonnée, en reconnaissant toutefois que le délai de congé avait été respecté (décision sur opposition du 8 juillet 2014).
B.
Par jugement du 27 mai 2015, la Cour des assurances sociales du Tribunal cantonal du canton du Valais a partiellement admis le recours formé par l'assurée contre la décision sur opposition, en ce sens que la suspension du droit à l'indemnité a été réduite à 20 jours.
C.
A._ interjette un recours contre ce jugement, en concluant, sous suite de frais et dépens, à son annulation ainsi qu'à l'annulation de la suspension de son droit à l'indemnité. Subsidiairement, elle conclut au renvoi de la cause à la juridiction cantonale pour qu'elle requalifie la gravité de la faute.
La caisse de chômage conclut au rejet du recours. La juridiction cantonale et le Secrétariat d'Etat à l'économie (SECO) ont renoncé à se déterminer.

Considérant en droit :
1.
Le recours est dirigé contre un arrêt final (<ref-law>) rendu en matière de droit public (<ref-law>) par une autorité cantonale de dernière instance (art. 86 al. 1 let. d LTF). Il a été déposé dans le délai (<ref-law>) et la forme (<ref-law>) prévus par la loi. Il est donc recevable.
2.
Le litige porte sur la suspension du droit à l'indemnité de chômage, pour chômage imputable à une faute de l'assurée (<ref-law> [RS 837.0]).
3.
Aux termes de l'<ref-law>, le droit de l'assuré à l'indemnité est suspendu lorsqu'il est établi que celui-ci est sans travail par sa propre faute. Est notamment réputé sans travail par sa propre faute l'assuré qui par son comportement, en particulier par la violation de ses obligations contractuelles de travail, a donné à son employeur un motif de résiliation du contrat de travail (<ref-law> [RS 837.02]).
4.
La juridiction cantonale retient que la recourante a été licenciée parce qu'elle n'a pas rempli ses obligations contractuelles à satisfaction. Les premiers juges se fondent sur les déclarations de l'employeur, selon lesquelles plusieurs remarques négatives de la clientèle sont à l'origine du licenciement, ainsi que sur le certificat de travail, aux termes duquel l'assurée a accompli les tâches confiées " au mieux de ses capacités ". Ils relèvent en outre que, selon un courriel du 21 juin 2011 de la cheffe de réception, l'assurée n'a pas exécuté correctement certaines tâches qui lui avaient été confiées (travail d'accueil à la réception avec distribution des peignoirs et tri des sandales). Par ailleurs, cette dernière avait reconnu dans une lettre du 3 mai 2012 qu'un entretien de service portant sur le mécontentement d'une cliente avait eu lieu en avril 2012. Enfin, les modalités d'engagement de l'assurée (contributions irrégulières rémunérées à un salaire horaire) rendaient peu crédible un licenciement pour motifs économiques, d'autant moins que le mois précédent son licenciement, la recourante avait réalisé un des revenus mensuels les plus élevés depuis son engagement. Selon l'autorité précédente, l'ensemble de ces éléments constituait des indices suffisants pour retenir la version de l'employeur, quand bien même celui-ci n'a pas pu produire de traces écrites des plaintes de la clientèle ni des procès-verbaux des entretiens du mois d'avril 2012 et du 29 septembre suivant. Aussi bien les premiers juges considèrent-ils que la recourante s'est retrouvée au chômage par sa propre faute, de sorte qu'une sanction se justifiait en application des <ref-law> et 44 al. 1 let. a OACI.
5.
La recourante critique le raisonnement des juges cantonaux. Elle fait valoir en particulier que le tri des sandales n'a rien à voir avec l'activité de masseuse pour laquelle elle avait été engagée et qu'en dehors de l'entretien du mois d'avril 2012, son ancien employeur ne l'a jamais informée de l'existence de plaintes de la part de clients. A propos de ces réclamations, celui-ci n'en aurait donné aucun exemple concret ni indiqué leur objet. Il n'aurait pas non plus fourni d'évaluation de son travail. Dans ces conditions, l'assurée soutient qu'il n'est pas possible de comprendre ce qui lui était reproché. Les conditions permettant de la sanctionner pour chômage fautif ne seraient donc pas remplies et la juridiction cantonale aurait violé la jurisprudence applicable en matière de chômage fautif en se fondant sur la seule version de l'employeur.
6.
6.1. Pour qu'une sanction se justifie, il faut que le comportement de l'assuré ait causé son chômage. Un tel lien fait défaut si la résiliation est fondée essentiellement sur un autre motif que le comportement du travailleur. Il suffit que le comportement à l'origine de la résiliation ait pu être évité si l'assuré avait fait preuve de la diligence voulue, comme si l'assurance n'existait pas. Le comportement reproché doit toutefois être clairement établi (<ref-ruling> consid. 1 p. 245; arrêt 8C_370/2014 du 11 juin 2015 consid. 2.2; THOMAS NUSSBAUMER, in Schweizerisches Bundesverwaltungsrecht [SBVR], Arbeitslosenversicherung, vol. XIV, 3e éd. 2016, p. 2515 n. 837). En outre, il est nécessaire, en application de l'art. 20 let. b de la Convention n° 168 du 21 juin 1988 concernant la promotion de l'emploi et la protection contre le chômage (RS 0.822.726.8), que l'assuré ait délibérément contribué à son renvoi, c'est-à-dire qu'il ait au moins pu s'attendre à recevoir son congé et qu'il se soit ainsi rendu coupable d'un dol éventuel (arrêt 8C_872/2011 du 6 juin 2012, in DTA 2012 n° 13 p. 294 ss; BORIS RUBIN, Commentaire de la loi sur l'assurance-chômage, 2014, n° 24 ad <ref-law>). Lorsqu'un différend oppose l'assuré à son employeur, les seules affirmations de ce dernier ne suffisent pas à établir une faute contestée par l'assuré et non confirmée par d'autres preuves ou indices aptes à convaincre l'administration ou le juge (<ref-ruling> consid. 1 précité et les références; BORIS RUBIN, op. cit., n° 31 ad <ref-law>).
6.2. En l'espèce, l'existence de plusieurs plaintes de la clientèle ne repose que sur les déclarations de l'employeur. La recourante a certes admis qu'un entretien au mois d'avril 2012 avait porté sur le mécontentement d'une cliente mais elle a contesté dans sa lettre du 3 mai 2012 en être à l'origine en faisant valoir que la cliente s'était plainte à tort de l'odeur de l'huile et du coussin. En tout état de cause, le jugement attaqué ne fait état d'aucun reproche ou avertissement qui aurait été adressé à l'assurée par son employeur.
Quant au courriel du 21 juin 2011, il concerne des faits bien antérieurs à la décision de l'employeur de licencier la recourante et n'explique pas le licenciement intervenu en septembre 2012. On ajoutera, au demeurant, que si la recourante n'a pas exécuté les tâches confiées à la réception à l'entière satisfaction de son employeur, cela ne signifie pas encore qu'elle ait adopté un comportement fautif sous l'angle de l'assurance-chômage. Il semble bien plutôt que tel n'a pas été le cas, dans la mesure où selon le certificat de travail, l'assurée a travaillé " au mieux de ses capacités ".
Aussi doit-on admettre que le comportement fautif reproché à l'assurée n'est pas clairement établi. Partant, c'est à tort que la juridiction cantonale a admis qu'une mesure de suspension était justifiée dans ce cas. Le recours se révèle donc bien fondé.
7.
L'intimée, qui succombe, supportera les frais judiciaires (<ref-law>). La recourante, qui est représentée par une collaboratrice juridique d'une compagnie d'assurance de protection juridique, a droit à une indemnité de dépens à la charge de l'intimée (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est admis. L'arrêt attaqué est annulé, de même que la décision sur opposition du 8 juillet 2014 de la Caisse de chômage chrétienne sociale.
2.
Les frais judiciaires, arrêtés à 500 fr., sont mis à la charge de l'intimée.
3.
L'intimée versera à la recourante une indemnité de 1'500 fr. au titre de dépens pour la procédure de dernière instance.
4.
La cause est renvoyée au Tribunal cantonal pour qu'il statue à nouveau sur les dépens de la procédure cantonale.
5.
Le présent arrêt est communiqué aux parties, à la Cour des assurances sociales du Tribunal cantonal du Valais et au Secrétariat d'Etat à l'économie (SECO).
Lucerne, le 29 décembre 2015
Au nom de la Ire Cour de droit social
du Tribunal fédéral suisse
La Présidente : Leuzinger
La Greffière : Castella