Shopify에서 방문자 IP별 고객지원 링크 표시하기

저자:Lisa Farrell · 2026-06-01

해외 대상 Shopify 스토어는 지역별로 고객지원 방식이 다를 수 있습니다. 테마 JavaScript가 https://my.ipin.io/info를 호출해 적절한 지원 링크를 표시할 수 있습니다.

API 설명

브라우저 측 호출은 방문자 IP를 확인하고 방문자의 IP, 국가, 지역, 도시를 반환합니다. 지역 콘텐츠 표시에 적합합니다.

{"ip":"185.220.236.7","country":"TW","region":"Taiwan","city":"Taipei"}

적용 시나리오

이 시나리오들은 IP 정보 인터페이스의 가치를 보여주며 서버 IP와 방문자 IP를 명확히 구분합니다.

  • 이 시나리오들은 IP 정보 인터페이스의 가치를 보여주며 서버 IP와 방문자 IP를 명확히 구분합니다.
  • Shopify에서 방문자 IP별 고객지원 링크 표시하기
  • API 설명
  • SEO 및 UX 권장사항

구현 로직

구현 전에 요청 주체를 확인해야 합니다. 서버 요청은 서버 IP를 반환하고 브라우저 요청은 방문자 IP를 반환합니다.

  • 구현 전에 요청 주체를 확인해야 합니다. 서버 요청은 서버 IP를 반환하고 브라우저 요청은 방문자 IP를 반환합니다.
  • 브라우저 측 호출은 방문자 IP를 확인하고 방문자의 IP, 국가, 지역, 도시를 반환합니다. 지역 콘텐츠 표시에 적합합니다.
  • 아래 예시는 모두 https://my.ipin.io/info를 직접 사용하며, 주석과 화면 문구도 현지화했습니다.
  • 기본 콘텐츠는 완전하고 읽을 수 있어야 하며, 지역 콘텐츠는 향상 요소로 사용해야 합니다. 검색엔진은 안정적인 콘텐츠를 수집하고, API 실패 시에도 페이지는 사용할 수 있습니다.

코드 예시

아래 예시는 모두 https://my.ipin.io/info를 직접 사용하며, 주석과 화면 문구도 현지화했습니다.

theme.liquid

<a class="ipin-support-btn" href="/support">Support</a>
<script>
document.addEventListener("DOMContentLoaded", async function () {
  const buttons = document.querySelectorAll(".ipin-support-btn");
  const map = { TW: "/support/tw", US: "/support/us", JP: "/support/jp" };
  try {
    // 브라우저 측에서 /info를 호출하여 방문자 IP를 확인합니다.
    const info = await fetch("https://my.ipin.io/info").then(res => res.json());
    buttons.forEach(btn => btn.href = map[info.country] || "/support");
  } catch (e) {
    // API 요청 실패 시 기본값을 유지합니다.
    buttons.forEach(btn => btn.href = "/support");
  }
});
</script>

SEO 및 UX 권장사항

기본 콘텐츠는 완전하고 읽을 수 있어야 하며, 지역 콘텐츠는 향상 요소로 사용해야 합니다. 검색엔진은 안정적인 콘텐츠를 수집하고, API 실패 시에도 페이지는 사용할 수 있습니다.

흔한 실수

다음 문제들은 글의 정확성, 코드 사용성, API 설명의 신뢰도에 영향을 줍니다.

  • 다음 문제들은 글의 정확성, 코드 사용성, API 설명의 신뢰도에 영향을 줍니다.
  • 기본 콘텐츠는 완전하고 읽을 수 있어야 하며, 지역 콘텐츠는 향상 요소로 사용해야 합니다. 검색엔진은 안정적인 콘텐츠를 수집하고, API 실패 시에도 페이지는 사용할 수 있습니다.
  • 구현 전에 요청 주체를 확인해야 합니다. 서버 요청은 서버 IP를 반환하고 브라우저 요청은 방문자 IP를 반환합니다.
  • 이 시나리오들은 IP 정보 인터페이스의 가치를 보여주며 서버 IP와 방문자 IP를 명확히 구분합니다.

정리

브라우저 측 호출은 방문자 IP를 확인하고 방문자의 IP, 국가, 지역, 도시를 반환합니다. 지역 콘텐츠 표시에 적합합니다.

자주 묻는 질문

아래 질문은 이 글의 구현 내용에 맞춰 별도로 작성되었으며 현재 주제와 직접 관련됩니다.

질문:왜 Shopify 고객지원入口에 적합한가요?
답변:Shopify 테마 JavaScript가 방문자 브라우저에서 실행되어 방문자 지역에 맞는 링크를 표시할 수 있기 때문입니다.
질문:왜 버튼에 class를 사용하나요?
답변:Shopify 페이지에는 여러 지원 버튼이 있을 수 있고 class로 모두 업데이트할 수 있기 때문입니다.
질문:LINE이나 WhatsApp을 국가별로 표시할 수 있나요?
답변:네. 국가 코드별로 텍스트와 URL을 매핑하면 됩니다.
질문:API가 실패하면 어떻게 되나요?
답변:기본 고객지원 링크가 남아 있어 사용자는 계속 문의할 수 있습니다.
질문:Shopify에서 코드는 어디에 넣나요?
답변:theme.liquid의 앞 또는 지원 블록을 렌더링하는 템플릿에 넣습니다.