# Provide Source in Member API & CSV

**URL:** <https://forum.ghost.org/t/provide-source-in-member-api-csv/52412>\
**Category:** Ideas\
**Created:** [November 12, 2024, 12:13pm UTC](https://forum.ghost.org/t/provide-source-in-member-api-csv/52412 "2024-11-12T12:13:59Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![mheland](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/mheland/32/26236_2.png) [@mheland](https://forum.ghost.org/u/mheland)\
**Post date:** [November 12, 2024, 12:13pm UTC](https://forum.ghost.org/t/provide-source-in-member-api-csv/52412/1 "2024-11-12T12:13:59Z")

</div>

Ghost stores the source of new members - this information is of real value in calculating CPA cost per acquisition when driving signups from paid social - Facebook / Twitter / etc…

It is 100% accurate, where Meta et al are, ehum… very happy to over-inflate or estimate the number of Conversions.

The API “New Subscriber” event does not provide Source, nor the CSV member export. And you can’t filter on Source in admin.

 ![image](https://us1.discourse-cdn.com/flex015/uploads/ghost2/original/3X/4/e/4effa34e15f9a1080c8473b4b63748594f1a4588.png)

Suggestion to include Source in the “New Member” API event.

---

<div class="post-metadata">

**Author:** ![Cathy\_Sarisky](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/cathy_sarisky/32/25750_2.png) [@Cathy\_Sarisky](https://forum.ghost.org/u/Cathy_Sarisky)\
**Post date:** [November 12, 2024, 12:32pm UTC](https://forum.ghost.org/t/provide-source-in-member-api-csv/52412/2 "2024-11-12T12:32:27Z")

</div>

> [@mheland](#):
>
> “New Member” API event

You mean the webhook?

It’d be awesome to have a more accessible route (dashboard & csv), I agree.

If you need it right now, it /is/ in the single-member reply from the API (`/ghost/api/admin/members/[memberID]`), as `attribution.referrer_source`

---

<div class="post-metadata">

**Author:** ![mheland](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/mheland/32/26236_2.png) [@mheland](https://forum.ghost.org/u/mheland)\
**Post date:** [November 17, 2024, 10:42am UTC](https://forum.ghost.org/t/provide-source-in-member-api-csv/52412/3 "2024-11-17T10:42:41Z")

</div>

tx @Cathy_Sarisky indeed, the member endpoint in admin API has an “attribution object” with the source, so this is doable by getting the member from `/admin/members/` after processing the webhook. The two strike method.

- Ghost webhook New Subscriber triggering Make scenario
- Pull the new Ghost member from `/admin/members/`
- Send Plausible analytics event “Signup” with Custom Property “Source”

… and in Plausible I have a New subscribers goal, with source, and can track CPC, Cost per Conversion.100% accuracy.

 ![image](https://us1.discourse-cdn.com/flex015/uploads/ghost2/original/3X/b/d/bda1f030a397dc74defc8b080b3c9d434df076ac.png)

---

<div class="post-metadata">

**Author:** ![nikwen](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/nikwen/32/34755_2.png) [@nikwen](https://forum.ghost.org/u/nikwen)\
**Post date:** [February 7, 2025, 5:31pm UTC](https://forum.ghost.org/t/provide-source-in-member-api-csv/52412/4 "2025-02-07T17:31:00Z")

</div>

**Related topic: [Include member attribution in GET /ghost/api/admin/members/](https://forum.ghost.org/t/include-member-attribution-in-get-ghost-api-admin-members/55083)**

It’s not identical though. This one is about the webhook. The other one is about the `/admin/members/` browse endpoint.

---

<div class="post-metadata">

**Author:** ![eli](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/eli/32/38455_2.png) [@eli](https://forum.ghost.org/u/eli)\
**Post date:** [November 18, 2025, 5:17am UTC](https://forum.ghost.org/t/provide-source-in-member-api-csv/52412/5 "2025-11-18T05:17:15Z")

</div>

This data is important to audience development, paid or not. Should be in the dashboard, CSV, webhook, and be a valid `include` option for the members browse API.

For anyone else who can’t wait: I made a Google Sheets integration that pulls all the member data including attribution for every member via the API. [GitHub - elidickinson/ghost-sync-google-sheets: Sync all Ghost member data (including attribution) into a Google Sheet with this Apps Script template](https://github.com/elidickinson/ghost-sync-google-sheets)
